From 7f4a69b628a6246855054a0b94d6d6dd14e8842c Mon Sep 17 00:00:00 2001 From: Chase Douglas Date: Fri, 13 Apr 2012 16:01:38 -0700 Subject: [PATCH] Log messages in TouchBeginDDXTouch() in a signal-safe manner Signed-off-by: Chase Douglas Reviewed-by: Peter Hutterer Signed-off-by: Peter Hutterer --- dix/touch.c | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/dix/touch.c b/dix/touch.c index aa17faf28..a01f152cd 100644 --- a/dix/touch.c +++ b/dix/touch.c @@ -198,8 +198,9 @@ TouchBeginDDXTouch(DeviceIntPtr dev, uint32_t ddx_id) /* If we get here, then we've run out of touches and we need to drop the * event (we're inside the SIGIO handler here) schedule a WorkProc to * grow the queue for us for next time. */ - ErrorF("%s: not enough space for touch events (max %d touchpoints). " - "Dropping this event.\n", dev->name, dev->last.num_touches); + ErrorFSigSafe("%s: not enough space for touch events (max %u touchpoints). " + "Dropping this event.\n", dev->name, dev->last.num_touches); + if (!BitIsOn(resize_waiting, dev->id)) { SetBit(resize_waiting, dev->id); QueueWorkProc(TouchResizeQueue, serverClient, NULL);