From: Tor Didriksen Date: December 13 2010 12:18pm Subject: bzr commit into mysql-5.1-bugteam branch (tor.didriksen:3518) Bug#58426 List-Archive: http://lists.mysql.com/commits/126624 X-Bug: 58426 Message-Id: <20101213121823.D4FAF33E5@atum07.norway.sun.com> MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="===============8484819405502046301==" --===============8484819405502046301== MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Content-Disposition: inline #At file:///export/home/didrik/repo/5.1-bugteam/ based on revid:sergey.glukhov@stripped 3518 Tor Didriksen 2010-12-13 Bug #58426 Crashing tests not failing as they are supposed to on Solaris 10 debug On this platform we seem to get lots of other signals while waiting for SIGKILL to be delivered. Solution: use sigsuspend() @ dbug/dbug.c New function _db_suicide_() which does kill(myself, -9) and then waits forever. @ include/my_dbug.h Let DBUG_SUICE wait forever until the KILL signal is delivered, and process dies. modified: dbug/dbug.c include/my_dbug.h === modified file 'dbug/dbug.c' --- a/dbug/dbug.c 2010-10-19 08:19:57 +0000 +++ b/dbug/dbug.c 2010-12-13 12:18:16 +0000 @@ -2276,6 +2276,25 @@ void _db_flush_() } +#ifndef __WIN__ +void _db_suicide_() +{ + int retval; + sigset_t new_mask; + sigfillset(&new_mask); + + fprintf(stderr, "SIGKILL myself\n"); + fflush(stderr); + + retval= kill(getpid(), SIGKILL); + assert(retval == 0); + retval= sigsuspend(&new_mask); + fprintf(stderr, "sigsuspend returned %d errno %d \n", retval, errno); + assert(FALSE); /* With full signal mask, we should never return here. */ +} +#endif /* ! __WIN__ */ + + void _db_lock_file_() { CODE_STATE *cs=0; === modified file 'include/my_dbug.h' --- a/include/my_dbug.h 2010-10-18 11:24:34 +0000 +++ b/include/my_dbug.h 2010-12-13 12:18:16 +0000 @@ -160,7 +160,8 @@ extern void _db_flush_(); #ifdef __WIN__ #define DBUG_SUICIDE() DBUG_ABORT() #else -#define DBUG_SUICIDE() (_db_flush_(), kill(getpid(), SIGKILL), pause()) +extern void _db_suicide_(); +#define DBUG_SUICIDE() (_db_flush_(), _db_suicide_()) #endif #else /* No debugger */ --===============8484819405502046301== MIME-Version: 1.0 Content-Type: text/bzr-bundle; charset="us-ascii"; name="bzr/tor.didriksen@stripped" Content-Transfer-Encoding: 7bit Content-Disposition: inline # Bazaar merge directive format 2 (Bazaar 0.90) # revision_id: tor.didriksen@stripped\ # yl3uw4a6xzxan245 # target_branch: file:///export/home/didrik/repo/5.1-bugteam/ # testament_sha1: 4dc6f815202a17a00e645d5d0300f269d5338b11 # timestamp: 2010-12-13 13:18:23 +0100 # source_branch: file:///export/home/didrik/repo/5.1-bugteam-regex/ # base_revision_id: sergey.glukhov@stripped\ # okypkn10adeeyns8 # # Begin bundle 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 --===============8484819405502046301==--