|
|||||||||||
|
Re: library/3179: bug report
From: Marco S Hyman <marc(at)snafu.org>
Date: Wed Apr 30 2003 - 00:15:02 EDT
From: Marco S Hyman <marc@snafu.org>
> here is the gdb's backtrace of mysqld: Thank you again, that helped a lot. Please apply the following patch: and let me know if it resolves the problem. The patch fixes two race conditions that would cause the problem you ran into if triggered. I'm hoping this resolves your problem. // marc Index: uthread/uthread_kill.c RCS file: /cvs/src/lib/libpthread/uthread/uthread_kill.c,v retrieving revision 1.10 diff -u -p -r1.10 uthread_kill.c
if (sig == _SCHED_SIGNAL) {
_thread_sys_write(_thread_kern_pipe[1], &c, 1);
_sigq_check_reqd = 1;
} else {
- if (_thread_sig_handle(sig, scp))
+ _queue_signals = 1;
+ dispatch = _thread_sig_handle(sig, scp);
+ _queue_signals = 0;
+ if (dispatch)
_dispatch_signals(scp);
}
}
@@ -160,7 +164,7 @@ _thread_clear_pending(int sig, pthread_t /* * Process the given signal. Returns 1 if the signal may be dispatched, - * otherwise 0. + * otherwise 0. Signals MUST be defered when this function is called. */ int _thread_sig_handle(int sig, struct sigcontext * scp) Received on Wed Apr 30 00:15:04 2003 This archive was generated by hypermail 2.1.8 : Wed Aug 23 2006 - 13:29:56 EDT |
||||||||||
|
|||||||||||