Index: server/src/FSServer.m3 =================================================================== RCS file: /usr/cvs/cm3/m3-tools/cvsup/server/src/FSServer.m3,v retrieving revision 1.2 diff -u -r1.2 FSServer.m3 --- server/src/FSServer.m3 12 Apr 2009 07:21:14 -0000 1.2 +++ server/src/FSServer.m3 17 Mar 2010 18:02:07 -0000 @@ -36,7 +36,7 @@ IOWatchDog, IP, Logger, OSError, OSErrorPosix, Passwd, Pathname, Process, ProcTitle, RCSComp, RCSKeyword, Rd, Reaper, SigHandler, StreamRd, StreamWr, SupFileRec, SupFileRecSeq, SupMisc, TCPMisc, - Text, Thread, Time, TokScan, TreeComp, Uerror, Unix, Usignal, + Text, Thread, Time, TokScan, TreeComp, Uerror, Usignal, Utypes, Version, WatchDog, Wr; IMPORT ConnRW; @@ -1822,7 +1822,7 @@ PROCEDURE Fork(): Utypes.pid_t RAISES {ForkFailed} = VAR - childPid := Unix.fork(); + childPid := Thread.ForkProcessAndAllThreads(); BEGIN IF childPid = -1 THEN RAISE ForkFailed(AtomList.List1(OSErrorPosix.ErrnoAtom( Index: server/src/Main.m3 =================================================================== RCS file: /usr/cvs/cm3/m3-tools/cvsup/server/src/Main.m3,v retrieving revision 1.1.1.1 diff -u -r1.1.1.1 Main.m3 --- server/src/Main.m3 9 Apr 2009 17:01:49 -0000 1.1.1.1 +++ server/src/Main.m3 17 Mar 2010 18:02:07 -0000 @@ -46,7 +46,7 @@ PROCEDURE BecomeDaemon() RAISES {OSError.E} = BEGIN - WITH pid = Unix.fork() DO + WITH pid = Thread.ForkProcessAndAllThreads() DO IF pid = -1 THEN (* Error. *) OSErrorPosix.Raise() ELSIF pid # 0 THEN (* Parent process. *)