diff options
author | scw <scw@63ad8ddf-47c3-0310-b6dd-a9e9d9715204> | 2007-05-28 23:13:04 +0800 |
---|---|---|
committer | scw <scw@63ad8ddf-47c3-0310-b6dd-a9e9d9715204> | 2007-05-28 23:13:04 +0800 |
commit | 93fdbc80ffe40eba7c445d3660e97f458632e4ba (patch) | |
tree | 27db99f630274423a7e35137e2957ec313387550 | |
parent | e70946135d00ae955f6a447994472ee15a16d9df (diff) | |
download | pttbbs-93fdbc80ffe40eba7c445d3660e97f458632e4ba.tar pttbbs-93fdbc80ffe40eba7c445d3660e97f458632e4ba.tar.gz pttbbs-93fdbc80ffe40eba7c445d3660e97f458632e4ba.tar.bz2 pttbbs-93fdbc80ffe40eba7c445d3660e97f458632e4ba.tar.lz pttbbs-93fdbc80ffe40eba7c445d3660e97f458632e4ba.tar.xz pttbbs-93fdbc80ffe40eba7c445d3660e97f458632e4ba.tar.zst pttbbs-93fdbc80ffe40eba7c445d3660e97f458632e4ba.zip |
Chess signal remasking before setting handler
git-svn-id: http://opensvn.csie.org/pttbbs/trunk/pttbbs@3521 63ad8ddf-47c3-0310-b6dd-a9e9d9715204
-rw-r--r-- | mbbsd/chess.c | 13 |
1 files changed, 11 insertions, 2 deletions
diff --git a/mbbsd/chess.c b/mbbsd/chess.c index 1fd83821..28da6f3b 100644 --- a/mbbsd/chess.c +++ b/mbbsd/chess.c @@ -1125,8 +1125,17 @@ ChessPlay(ChessInfo* info) if (info->mode != CHESS_MODE_REPLAY) ChessGenLog(info, game_result); - currutmp->sig = -1; - Signal(SIGUSR1, old_handler); + + { + sigset_t sigset; + + sigemptyset(&sigset); + sigaddset(&sigset, SIGUSR1); + sigprocmask(SIG_BLOCK, &sigset, NULL); + + // currutmp->sig = -1; + Signal(SIGUSR1, old_handler); + } CurrentPlayingGameInfo = NULL; } |