[PD] old process still running

günter geiger geiger at xdv.org
Fri Nov 11 17:11:51 CET 2005


 .. and forgot the attachment

Guenter


On Fri, 11 Nov 2005, günter geiger wrote:

>
>
> I haven't tried shell on OSX yet, attached is a patch that might fix the
> problem. Apply with
>
> patch < shell_osx.patch
>
> Let me know if it helps (or not).
>
> Cheers,
>
> Guenter
>
>
> On Fri, 11 Nov 2005, Ed Kelly wrote:
>
> > Hi list,
> >
> > I'm still having problems with the shell object,
> > the right outlet is supposed to bang when the shell
> > has achieved it's task, but every time I use that to
> > initiate another task (with a [bang( -- [del 100] in
> > between) I get "old process still running" and the
> > task remains undone. All I want to do is create a
> > series of folders within a folder!
> >
> > Ed
> >
> > PS, I'm still having problems with my
> > email...apologies to the list, but every time I
> > forward one from the list, to myself, it's going to
> > the list instead! Yahoo! - ya boo. I'll copy and paste
> > in future!
> >
> > ->
> > ->
> > -->
> > --->
> > ----->
> > -------->
> > -------------> r3search + praktik EK5perimenz
> >
> >
> >
> > ___________________________________________________________
> > Yahoo! Model Search 2005 - Find the next catwalk superstars - http://uk.news.yahoo.com/hot/model-search/
> >
> > _______________________________________________
> > PD-list at iem.at mailing list
> > UNSUBSCRIBE and account-management -> http://lists.puredata.info/listinfo/pd-list
> >
>
> _______________________________________________
> PD-list at iem.at mailing list
> UNSUBSCRIBE and account-management -> http://lists.puredata.info/listinfo/pd-list
>
-------------- next part --------------
--- shell.c.old	2005-11-11 16:47:30.000000000 +0100
+++ shell.c	2005-11-11 16:48:20.000000000 +0100
@@ -76,12 +76,9 @@
 	int ret;

 	int status;

 	ret = waitpid(x->pid,&status,WNOHANG);

-	if (ret == x->pid) {

+	if (ret == x->pid && WIFEXITED(status)) {

 	     shell_cleanup(x);

-	     if (WIFEXITED(status)) {

-		  outlet_float(x->x_done,WEXITSTATUS(status));

-	     }

-	     else outlet_float(x->x_done,0);

+	     outlet_float(x->x_done,WEXITSTATUS(status));

 	}

 	else {

 	     if (x->x_del < 100) x->x_del+=2; /* increment poll times */



More information about the Pd-list mailing list