[PATCH] dix: fix error logging occuring in signal context of GetTouchEvents
Benjamin Tissoires
benjamin.tissoires at gmail.com
Wed Jan 9 10:32:19 PST 2013
GetTouchEvents is usually called in a signal context.
Calling ErrorF for the error messages leads to X complaining about log:
(EE) BUG: triggered 'if (inSignalContext)'
(EE) BUG: log.c:484 in LogVMessageVerb()
(EE) Warning: attempting to log data in a signal unsafe manner while in signal context.
Please update to check inSignalContext and/or use LogMessageVerbSigSafe() or ErrorFSigSafe().
The offending log format message is:
%s: Attempted to start touch without x/y (driver bug)
Signed-off-by: Benjamin Tissoires <benjamin.tissoires at gmail.com>
---
dix/getevents.c | 8 ++++----
1 file changed, 4 insertions(+), 4 deletions(-)
diff --git a/dix/getevents.c b/dix/getevents.c
index 3d41e1e..a1e1938 100644
--- a/dix/getevents.c
+++ b/dix/getevents.c
@@ -1895,16 +1895,16 @@ GetTouchEvents(InternalEvent *events, DeviceIntPtr dev, uint32_t ddx_touchid,
if (!mask_in ||
!valuator_mask_isset(mask_in, 0) ||
!valuator_mask_isset(mask_in, 1)) {
- ErrorF("%s: Attempted to start touch without x/y (driver bug)\n",
- dev->name);
+ ErrorFSigSafe("%s: Attempted to start touch without x/y "
+ "(driver bug)\n", dev->name);
return 0;
}
break;
case XI_TouchUpdate:
event->type = ET_TouchUpdate;
if (!mask_in || valuator_mask_num_valuators(mask_in) <= 0) {
- ErrorF("%s: TouchUpdate with no valuators? Driver bug\n",
- dev->name);
+ ErrorFSigSafe("%s: TouchUpdate with no valuators? Driver bug\n",
+ dev->name);
}
break;
case XI_TouchEnd:
--
1.8.0.2
More information about the xorg-devel
mailing list