diff options
Diffstat (limited to 'mbbsd/board.c')
-rw-r--r-- | mbbsd/board.c | 19 |
1 files changed, 9 insertions, 10 deletions
diff --git a/mbbsd/board.c b/mbbsd/board.c index 92a6c6e9..7da01d72 100644 --- a/mbbsd/board.c +++ b/mbbsd/board.c @@ -1,4 +1,4 @@ -/* $Id: board.c,v 1.31 2002/06/05 02:51:48 ptt Exp $ */ +/* $Id: board.c,v 1.32 2002/06/05 03:06:11 ptt Exp $ */ #include "bbs.h" #define BRC_STRLEN 15 /* Length of board name */ #define BRC_MAXSIZE 24576 @@ -656,21 +656,20 @@ static void dozap(int num){ void delutmpbid(int bid, userinfo_t *utmp) { userinfo_t *u; - //if (brdshm->busystate!=1 && now-brdshm->busystate_b[bid-1]>=10) + while (brdshm->busystate!=1 && now-brdshm->busystate_b[bid-1]>=10) + sleep(1); // Ptt:有問題都是這邊沒有執行到就爛掉了 - { - brdshm->busystate_b[bid-1]=now; - u=bcache[bid-1].u; - if(u!=(void*)utmp) + brdshm->busystate_b[bid-1]=now; + u=bcache[bid-1].u; + if(u!=(void*)utmp) { for(;u && u->nextbfriend != (void*)utmp; u=u->nextbfriend); if(u) u->nextbfriend = utmp->nextbfriend; } - else + else bcache[bid-1].u=utmp->nextbfriend; - if(bcache[bid-1].nuser>0) bcache[bid-1].nuser--; - brdshm->busystate_b[bid-1]=0; - } + if(bcache[bid-1].nuser>0) bcache[bid-1].nuser--; + brdshm->busystate_b[bid-1]=0; } void setutmpbid(int bid) |