From: Tor Didriksen Date: December 13 2010 4:13pm Subject: bzr commit into mysql-5.1-bugteam branch (tor.didriksen:3519) Bug#58426 List-Archive: http://lists.mysql.com/commits/126681 X-Bug: 58426 Message-Id: <20101213161309.D52F833E6@atum07.norway.sun.com> MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="===============4873124078172223047==" --===============4873124078172223047== 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 3519 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 16:13:01 +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 16:13:01 +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 */ --===============4873124078172223047== 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\ # 81lprlbune7r98dl # target_branch: file:///export/home/didrik/repo/5.1-bugteam/ # testament_sha1: 9de6d885d314115f32ced243c04051a9c357e5c2 # timestamp: 2010-12-13 17:13:09 +0100 # source_branch: file:///export/home/didrik/repo/5.1-bugteam-regex/ # base_revision_id: sergey.glukhov@stripped\ # kaq7sh0s623128lv # # Begin bundle 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 --===============4873124078172223047==--