runaway smbd in samba-2.0.1

Todd Pfaff pfaff at edge.cis.McMaster.CA
Sat Feb 6 22:20:33 GMT 1999


On Sat, 6 Feb 1999, Jeremy Allison wrote:

> Can you try this quick patch to see if it's the while loops
> around the waitpid calls that are causing the problem.

that seems to have fixed the problem.  thanks.

--
Todd Pfaff                         \  Email: pfaff at mcmaster.ca
Computing and Information Services  \ Voice: (905) 525-9140 x22920
ABB 132                              \  FAX: (905) 528-3773
McMaster University                   \
Hamilton, Ontario, Canada  L8S 4M1     \
-------------- next part --------------
# 
# From jeremy at netcom.com Sat Feb  6 17:05:10 1999
# Date: Sat, 6 Feb 1999 13:59:48 -0800 (PST)
# From: Jeremy Allison <jeremy at netcom.com>
# To: samba-technical at samba.org
# Cc: matthew at janus.law.usyd.edu.au, green at UMDNJ.EDU,
#     pfaff at edge.cis.McMaster.CA
# Subject: Re: runaway smbd in samba-2.0.1
# 
# Can you try this quick patch to see if it's the while loops
# around the waitpid calls that are causing the problem.
# 
# waitpid should only return < 0 on error according to my man 
# pages - the only possibility is getting :
# 
#  ECHILD  if the process specified in pid does not exist or is not a child of the calling process.
# 
# Which shouldn't happen....
# 
# Regards,
# 
# 	Jeremy Allison,
# 	Samba Team.
# 
# 
# Index: lib/smbrun.c
# ===================================================================
# RCS file: /data/cvs/samba/source/lib/smbrun.c,v
# retrieving revision 1.5.2.5
# diff -u -r1.5.2.5 smbrun.c
# --- smbrun.c    1999/02/03 03:18:38     1.5.2.5
# +++ smbrun.c    1999/02/06 21:55:58
# @@ -134,6 +134,7 @@
#                                 errno = 0;
#                                 continue;
#                         }
# +                       break;
#                 }
#                 if (wpid != pid) {
#                         DEBUG(2,("waitpid(%d) : %s\n",pid,strerror(errno)));
# Index: smbd/chgpasswd.c
# ===================================================================
# RCS file: /data/cvs/samba/source/smbd/chgpasswd.c,v
# retrieving revision 1.41.2.8
# diff -u -r1.41.2.8 chgpasswd.c
# --- chgpasswd.c 1999/02/03 03:18:38     1.41.2.8
# +++ chgpasswd.c 1999/02/06 21:56:05
# @@ -323,6 +323,7 @@
#          errno = 0;
#          continue;
#        }
# +         break;
#      }
# 
#      if (wpid < 0) {                                              
# 
*** lib/smbrun.c.orig	Fri Feb  5 21:17:48 1999
--- lib/smbrun.c	Sat Feb  6 17:07:46 1999
***************
*** 134,139 ****
--- 134,140 ----
  				errno = 0;
  				continue;
  			}
+ 			break;
  		}
  		if (wpid != pid) {
  			DEBUG(2,("waitpid(%d) : %s\n",pid,strerror(errno)));
*** smbd/chgpasswd.c.orig	Fri Feb  5 21:17:53 1999
--- smbd/chgpasswd.c	Sat Feb  6 17:08:37 1999
***************
*** 323,328 ****
--- 323,329 ----
          errno = 0;
          continue;
        }
+ 	break;
      }
  
      if (wpid < 0) {


More information about the samba-technical mailing list