xserver-multidpi/record
Rami Ylimäki 8b65f2edb4 record: Prevent a crash on recording client disconnect.
Execute the following steps to reproduce the issue.

  1. Run at least two recording clients simultaneously.
     $ cnee --record --request-range 1-127 &
     $ cnee --record --request-range 1-127 &
  2. Kill the recording clients.
     $ killall cnee
  3. Give X server something to do so that the clients are closed.
     $ xinput list
     $ xinput list

As a result RecordUninstallHooks accesses NullClient, because
RecordAClientStateChange doesn't clean the recording clients up
properly.

Fix RecordUninstallHooks to fail locally on an assertion instead of
much later in privates code, if NullClient is still accessed because
of some other bug. Fix RecordAClientStateChange to iterate through all
contexts so that modifications of the iterated array during iteration
don't cause contexts to be skipped.

Signed-off-by: Rami Ylimäki <ext-rami.ylimaki@nokia.com>
Reviewed-by: Keith Packard <keithp@keithp.com>
Signed-off-by: Keith Packard <keithp@keithp.com>
2010-06-22 11:43:36 -07:00
..
Makefile.am get rid of XFree86LOADER, XFree86Server, XFree86Module, and IN_MODULE 2006-07-18 18:17:38 -04:00
record.c record: Prevent a crash on recording client disconnect. 2010-06-22 11:43:36 -07:00
set.c Remove more superfluous if(p) checks around free(p) 2010-06-06 20:27:18 +07:00
set.h Death to RCS tags. 2007-06-29 14:06:52 -04:00