diff options
author | in2 <in2@63ad8ddf-47c3-0310-b6dd-a9e9d9715204> | 2002-07-03 00:22:00 +0800 |
---|---|---|
committer | in2 <in2@63ad8ddf-47c3-0310-b6dd-a9e9d9715204> | 2002-07-03 00:22:00 +0800 |
commit | e88b60055069a40d08073451030cd1bdab6e7522 (patch) | |
tree | 46db92b24624577c305fbd31f58de8ea37deca9d | |
parent | ff4ffacb7724c2b150b99ca9728c0ea6cb11442e (diff) | |
download | pttbbs-e88b60055069a40d08073451030cd1bdab6e7522.tar pttbbs-e88b60055069a40d08073451030cd1bdab6e7522.tar.gz pttbbs-e88b60055069a40d08073451030cd1bdab6e7522.tar.bz2 pttbbs-e88b60055069a40d08073451030cd1bdab6e7522.tar.lz pttbbs-e88b60055069a40d08073451030cd1bdab6e7522.tar.xz pttbbs-e88b60055069a40d08073451030cd1bdab6e7522.tar.zst pttbbs-e88b60055069a40d08073451030cd1bdab6e7522.zip |
fix broadcast bug
git-svn-id: http://opensvn.csie.org/pttbbs/pttbbs/trunk/pttbbs@405 63ad8ddf-47c3-0310-b6dd-a9e9d9715204
-rw-r--r-- | mbbsd/talk.c | 9 |
1 files changed, 6 insertions, 3 deletions
diff --git a/mbbsd/talk.c b/mbbsd/talk.c index add07deb..f02d3c14 100644 --- a/mbbsd/talk.c +++ b/mbbsd/talk.c @@ -1,4 +1,4 @@ -/* $Id: talk.c,v 1.75 2002/07/02 15:07:20 in2 Exp $ */ +/* $Id: talk.c,v 1.76 2002/07/02 16:22:00 in2 Exp $ */ #include "bbs.h" #define QCAST int (*)(const void *, const void *) @@ -2050,11 +2050,13 @@ static void userlist(void) *ans == 'n') break; if( !(cuser.uflag & FRIEND_FLAG) && HAS_PERM(PERM_SYSOP) ){ - for( i = 0 ; i < SHM->UTMPnumber && i<1000 ; ++i ){ + for( i = 0 ; i < SHM->UTMPnumber ; ++i ){ uentp = SHM->sorted[SHM->currsorted][0][i]; if( uentp->pid && kill(uentp->pid, 0) != -1 ) my_write(uentp->pid, genbuf, uentp->userid, 1, NULL); + if( i % 100 == 0 ) + sleep(1); } } else{ @@ -2071,7 +2073,8 @@ static void userlist(void) currutmp->friend_online[i]>>24) && kill(uentp->pid, 0) != -1 && uentp->pager != 3 && - (uentp->pager != 4 || frstate & HFM) ){ + (uentp->pager != 4 || frstate & HFM) && + !(frstate & IRH) ){ my_write(uentp->pid, genbuf, uentp->userid, 1, NULL); } |