On Sun, Apr 19, 2009 at 09:07:29PM -0700, Aaron Plattner wrote: > Please don't. Or at the very least, make this optional. There are a > number of reasons why the graphics driver would get stuck for long > periods of time including ridiculous client requests (e.g. huge > convolution filters), graphics cards hitting thermal slowdown > thresholds, graphics "hardware" that's actually a simluation library, > the server being stopped in a debugger, etc.
Fair enough. Is there any way to "reliably" detect the difference? I don't think making this optional is particularly useful, so dropping it is probably better. Cheers, Peter > On Sun, Apr 19, 2009 at 08:10:18PM -0700, Peter Hutterer wrote: > > After > 100 stuck input events, the server is unlikely to recover. So print > > a > > message to the log and terminate the server instead of requiring users to > > kill > > the server themselves. > > > > Signed-off-by: Peter Hutterer <[email protected]> > > --- > > mi/mieq.c | 8 +++++++- > > 1 files changed, 7 insertions(+), 1 deletions(-) > > > > diff --git a/mi/mieq.c b/mi/mieq.c > > index 0dedbee..c263114 100644 > > --- a/mi/mieq.c > > +++ b/mi/mieq.c > > @@ -182,11 +182,17 @@ mieqEnqueue(DeviceIntPtr pDev, InternalEvent *e) > > ErrorF("[mi] EQ overflowing. The server is probably stuck " > > "in an infinite loop.\n"); > > xorg_backtrace(); > > - stuck = 1; > > + stuck++; > > } > > #ifdef XQUARTZ > > pthread_mutex_unlock(&miEventQueueMutex); > > #endif > > + > > + if (stuck >= 100) > > + FatalError("[mi] The last 100 input events could not be " > > + "processed. This is a bug.\n" > > + "Terminating server now. Please submit this log" > > + "file to http://bugs.freedesktop.org"); > > return; > > } > > stuck = 0; > > -- > > 1.6.2.2.447.g4afa7 _______________________________________________ xorg-devel mailing list [email protected] http://lists.x.org/mailman/listinfo/xorg-devel
