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
commit7f55953786fb554ae09961d62e07a466975a6967 (patch)
tree73d55f1e1c8f5a6141be59e8d40cc9fcf6507a62
parent97c6cc24030daf8fe09ff861d10d2ac723ac72e1 (diff)
downloadpttbbs-7f55953786fb554ae09961d62e07a466975a6967.tar
pttbbs-7f55953786fb554ae09961d62e07a466975a6967.tar.gz
pttbbs-7f55953786fb554ae09961d62e07a466975a6967.tar.bz2
pttbbs-7f55953786fb554ae09961d62e07a466975a6967.tar.lz
pttbbs-7f55953786fb554ae09961d62e07a466975a6967.tar.xz
pttbbs-7f55953786fb554ae09961d62e07a466975a6967.tar.zst
pttbbs-7f55953786fb554ae09961d62e07a466975a6967.zip
fix broadcast bug
git-svn-id: http://opensvn.csie.org/pttbbs/pttbbs/trunk@405 63ad8ddf-47c3-0310-b6dd-a9e9d9715204
-rw-r--r--pttbbs/mbbsd/talk.c9
1 files changed, 6 insertions, 3 deletions
diff --git a/pttbbs/mbbsd/talk.c b/pttbbs/mbbsd/talk.c
index add07deb..f02d3c14 100644
--- a/pttbbs/mbbsd/talk.c
+++ b/pttbbs/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);
}