Blob Blame History Raw
diff -up ksh-20110630/src/cmd/ksh93/sh/jobs.c.pidlimit ksh-20110630/src/cmd/ksh93/sh/jobs.c
--- ksh-20110630/src/cmd/ksh93/sh/jobs.c.pidlimit	2011-10-06 08:38:59.800632676 +0200
+++ ksh-20110630/src/cmd/ksh93/sh/jobs.c	2011-10-06 08:39:51.434808924 +0200
@@ -1983,13 +1983,13 @@ void job_subrestore(void* ptr)
 	for(jp=bck.list; jp; jp=jp->next)
 		if (!jp->next)
 			end = jp;
-
 	if(end)
 		end->next = bp->list;
 	else
 		bck.list = bp->list;
 	bck.count += bp->count;
-
+ 	while(bck.count > shgd->lim.child_max)
+ 		job_chksave(0);
 	for(pw=job.pwlist; pw; pw=pwnext)
 	{
 		pwnext = pw->p_nxtjob;