From e88b60055069a40d08073451030cd1bdab6e7522 Mon Sep 17 00:00:00 2001 From: in2 Date: Tue, 2 Jul 2002 16:22:00 +0000 Subject: fix broadcast bug git-svn-id: http://opensvn.csie.org/pttbbs/pttbbs/trunk/pttbbs@405 63ad8ddf-47c3-0310-b6dd-a9e9d9715204 --- mbbsd/talk.c | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) (limited to 'mbbsd/talk.c') 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); } -- cgit v1.2.3