dix: avoid calling deleted block and wakeup handlers
authorScott James Remnant <scott@netsplit.com>
Tue, 14 Jun 2011 23:36:07 +0000 (16:36 -0700)
committerPeter Hutterer <peter.hutterer@who-t.net>
Thu, 30 Jun 2011 06:38:29 +0000 (16:38 +1000)
commit2ee85d954c8f3a6affbd9b1b745594ff12e8b670
treec4135d2f6ee74a1bcb35317874661bd47bee1cf0
parentb573cdd40ee49fae299fe2e7cbd02159ae8ae617
dix: avoid calling deleted block and wakeup handlers

BlockHandler and WakeupHandlers may be removed within a different
BlockHandler or WakeupHandler, especially since config/udev uses
these and removes devices.

Calling the deleted handlers and passing potentially freed data
can result in the X server segfaulting after device removal, or
events that result in device removal such as undocking or suspend/
resume.

Signed-off-by: Scott James Remnant <scott@netsplit.com>
Reviewed-by: Daniel Stone <daniel@fooishbar.org>
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
dix/dixutils.c