Short-cut the input device cleanup process during AbortServer()
authorPeter Hutterer <peter.hutterer@who-t.net>
Wed, 30 Jan 2013 03:20:07 +0000 (03:20 +0000)
committerKeith Packard <keithp@keithp.com>
Fri, 8 Feb 2013 17:06:14 +0000 (09:06 -0800)
commit9f79e93b6b3416055d08a0e8f9f16d5fd0649e36
tree5a9fce08b7c8a0b6fcede5f5d0ff1d6647370d03
parentb58221f9da8c549d979215271359c6cd88b5568a
Short-cut the input device cleanup process during AbortServer()

If we're about to abort, we're already in the signal handler and cannot call
down to the default device cleanup routines (which reset, free, alloc, and
do a bunch of other things).

Add a new DEVICE_ABORT mode to signal a driver's DeviceProc that it must
reset the hardware if needed but do nothing else. An actual HW reset is only
required for some drivers dealing with the HW directly.

This is largely backwards-compatible, hence the input ABI minor bump only.

Drivers we care about either return BadValue on a mode that's not
DEVICE_{INIT|ON|OFF|CLOSE} or print an error and return BadValue. Exception
here is vmmouse, which currently ignores it and would not reset anything.
This should be fixed if the reset is required.

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Reviewed-by: Keith Packard <keithp@keithp.com>
Signed-off-by: Keith Packard <keithp@keithp.com>
dix/devices.c
hw/xfree86/common/xf86Module.h
include/input.h
os/log.c