In the last episode (Nov 14), Erik Price said: > > What OS do you use ? > > > > The behaviour you're describing I've seen two-three years ago on > > FreeBSD due to some bug/deficiency in FreeBSD threads. Since then > > it was fixed (in FreeBSD I mean). > > Interesting! I'm using Darwin 1.3.1 (from Mac OS X 10.1.0), which > was partly derived from one of the BSDs (I think it was FreeBSD in > fact). What was the fix that was used? Maybe I can get it to apply > to this situation.
There were fixes to both FreeBSD's libc_r and mysql. I was part of the original discussion and have the thread archived. The only way for a threaded program to reliably process signals is for all threads but one to ignore the signal. Older versions of mysql used SIGQUIT to shutdown, and never explicitly registered a signal handler. This caused problems if the mysql startup script explicitly ignored SIGQUIT (which it did on FreeBSD via the nohup command). Then there was a libc_r bug where even if the signal got delivered, mysql never actually saw it. In Mysql 3.22.11, the signal was changed to SIGTERM and a signal handler was explicitly installed. As far as libc_r patches, there are two candidates. One is a 50-line commit on 1998-11-15 with the comment "Interrupt threads waiting in select etc.". There was another large (2000-line) commit on 1999-07-23 with the comment "MFC: Bring in both bug fixes, performance improvements, and enhancements. This should fix MySQL problems". The commit went in between the releases of FreeBSD 3.2 and 3.3. I don't know exactly what version of code Apple used for Darwin, or how easy it would be to merge those changes into Darwin's libc_r if they're not already in there. Darwin might not even be using FreeBSD's thread library. -- Dan Nelson [EMAIL PROTECTED] --------------------------------------------------------------------- Before posting, please check: http://www.mysql.com/manual.php (the manual) http://lists.mysql.com/ (the list archive) To request this thread, e-mail <[EMAIL PROTECTED]> To unsubscribe, e-mail <[EMAIL PROTECTED]> Trouble unsubscribing? Try: http://lists.mysql.com/php/unsubscribe.php