[PATCH evdev] Use LogMessageVerbSigSafe if available
Peter Hutterer
peter.hutterer at who-t.net
Sun May 27 17:29:32 PDT 2012
On Fri, May 25, 2012 at 07:14:48AM -0700, Chase Douglas wrote:
> On 05/24/2012 09:10 PM, Peter Hutterer wrote:
> > Messages logged during the signal handler should use LogMessageVerbSigSafe
> > as of ABI 18.
> >
> > Signed-off-by: Peter Hutterer <peter.hutterer at who-t.net>
> > ---
> > src/evdev.c | 17 +++++++----------
> > src/evdev.h | 4 ++++
> > 2 files changed, 11 insertions(+), 10 deletions(-)
> >
> > diff --git a/src/evdev.c b/src/evdev.c
> > index 4b86f66..27ea605 100644
> > --- a/src/evdev.c
> > +++ b/src/evdev.c
> > @@ -787,9 +787,10 @@ EvdevProcessTouchEvent(InputInfoPtr pInfo, struct input_event *ev)
> > valuator_mask_copy(pEvdev->mt_mask,
> > pEvdev->last_mt_vals[slot_index]);
> > else
> > - xf86IDrvMsg(pInfo, X_WARNING,
> > - "Attempted to copy values from out-of-range "
> > - "slot, touch events may be incorrect.\n");
> > + LogMessageVerbSigSafe(X_WARNING, 0,
> > + "%s: Attempted to copy values from out-of-range "
> > + "slot, touch events may be incorrect.\n",
> > + pInfo->name);
> > } else
> > pEvdev->slot_state = SLOTSTATE_CLOSE;
> > } else {
> > @@ -1111,19 +1112,15 @@ EvdevReadInput(InputInfoPtr pInfo)
> > close(pInfo->fd);
> > pInfo->fd = -1;
> > } else if (errno != EAGAIN)
> > - {
> > - /* We use X_NONE here because it doesn't alloc */
> > - xf86MsgVerb(X_NONE, 0, "%s: Read error: %s\n", pInfo->name,
> > - strerror(errno));
> > - }
> > + LogMessageVerbSigSafe(X_ERROR, 0, "%s: Read error: %s\n", pInfo->name,
> > + strerror(errno));
> > break;
> > }
> >
> > /* The kernel promises that we always only read a complete
> > * event, so len != sizeof ev is an error. */
> > if (len % sizeof(ev[0])) {
> > - /* We use X_NONE here because it doesn't alloc */
> > - xf86MsgVerb(X_NONE, 0, "%s: Read error: %s\n", pInfo->name, strerror(errno));
> > + LogMessageVerbSigSafe(X_ERROR, 0, "%s: Read error: %s\n", pInfo->name, strerror(errno));
> > break;
> > }
>
> We also need to fix the warning in EvdevNextInQueue(). With that fixed
> as well:
>
> Reviewed-by: Chase Douglas <chase.douglas at canonical.com>
amended, thanks.
Cheers,
Peter
>
> > diff --git a/src/evdev.h b/src/evdev.h
> > index 309b215..f9bd234 100644
> > --- a/src/evdev.h
> > +++ b/src/evdev.h
> > @@ -67,6 +67,10 @@
> > #define HAVE_SMOOTH_SCROLLING 1
> > #endif
> >
> > +#if GET_ABI_MAJOR(ABI_XINPUT_VERSION) < 18
> > +#define LogMessageVerbSigSafe xf86MsgVerb
> > +#endif
> > +
> > #define EVDEV_MAXBUTTONS 32
> > #define EVDEV_MAXQUEUE 32
> >
More information about the xorg-devel
mailing list