1*4882a593SmuzhiyunUpstream-Status: Inappropriate [1] 2*4882a593Smuzhiyun 3*4882a593Smuzhiyun[1] Not the author, the patch is from: 4*4882a593Smuzhiyunhttp://vault.centos.org/5.8/os/SRPMS/rdist-6.1.5-44.src.rpm 5*4882a593Smuzhiyun 6*4882a593Smuzhiyun--- rdist-6.1.5/src/message.c.thestokes 2006-04-19 17:30:39.000000000 -0400 7*4882a593Smuzhiyun+++ rdist-6.1.5/src/message.c 2006-04-19 17:36:37.000000000 -0400 8*4882a593Smuzhiyun@@ -793,15 +793,20 @@ 9*4882a593Smuzhiyun char *msg; 10*4882a593Smuzhiyun { 11*4882a593Smuzhiyun static char buf[MSGBUFSIZ]; 12*4882a593Smuzhiyun- 13*4882a593Smuzhiyun- ++nerrs; 14*4882a593Smuzhiyun- 15*4882a593Smuzhiyun- if (isserver) 16*4882a593Smuzhiyun- (void) sprintf(buf, "REMOTE ERROR: %s", msg); 17*4882a593Smuzhiyun- else 18*4882a593Smuzhiyun- (void) sprintf(buf, "LOCAL ERROR: %s", msg); 19*4882a593Smuzhiyun- 20*4882a593Smuzhiyun- _message(MT_FERROR, buf); 21*4882a593Smuzhiyun+ /* Don't reenter this function. There is a nasty infinite recursion 22*4882a593Smuzhiyun+ case that pops up when msgsndnotify tries to exit. */ 23*4882a593Smuzhiyun+ static int inside=0; 24*4882a593Smuzhiyun+ 25*4882a593Smuzhiyun+ if(inside==0){ 26*4882a593Smuzhiyun+ ++nerrs; 27*4882a593Smuzhiyun+ inside=1; 28*4882a593Smuzhiyun+ 29*4882a593Smuzhiyun+ if (isserver) 30*4882a593Smuzhiyun+ (void) sprintf(buf, "REMOTE ERROR: %s", msg); 31*4882a593Smuzhiyun+ else 32*4882a593Smuzhiyun+ (void) sprintf(buf, "LOCAL ERROR: %s", msg); 33*4882a593Smuzhiyun+ _message(MT_FERROR, buf); 34*4882a593Smuzhiyun+ } 35*4882a593Smuzhiyun 36*4882a593Smuzhiyun exit(nerrs); 37*4882a593Smuzhiyun } 38