From: Tor Didriksen Date: December 13 2010 4:14pm Subject: bzr commit into mysql-5.5-bugteam branch (tor.didriksen:3187) List-Archive: http://lists.mysql.com/commits/126682 Message-Id: <20101213161411.3E9F833E6@atum07.norway.sun.com> MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit #At file:///export/home/didrik/repo/5.5-bugteam/ based on revid:sergey.glukhov@stripped 3187 Tor Didriksen 2010-12-13 [merge] Automerge 5.1-bugteam => 5.5-bugteam modified: dbug/dbug.c include/my_dbug.h === modified file 'dbug/dbug.c' --- a/dbug/dbug.c 2010-10-19 08:30:26 +0000 +++ b/dbug/dbug.c 2010-12-13 16:13:31 +0000 @@ -2377,6 +2377,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; === modified file 'include/my_dbug.h' --- a/include/my_dbug.h 2010-10-18 11:27:52 +0000 +++ b/include/my_dbug.h 2010-12-13 16:13:31 +0000 @@ -132,7 +132,8 @@ extern const char* _db_get_func_(void); #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 */ No bundle (reason: revision is a merge (you can force generation of a bundle with env var BZR_FORCE_BUNDLE=1)).