summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorin2 <in2@63ad8ddf-47c3-0310-b6dd-a9e9d9715204>2002-07-03 00:22:00 +0800
committerin2 <in2@63ad8ddf-47c3-0310-b6dd-a9e9d9715204>2002-07-03 00:22:00 +0800
commite88b60055069a40d08073451030cd1bdab6e7522 (patch)
tree46db92b24624577c305fbd31f58de8ea37deca9d
parentff4ffacb7724c2b150b99ca9728c0ea6cb11442e (diff)
downloadpttbbs-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.c9
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);
}