In the middle of the Scheme binding I wrote for mooix, I call process (from posix) for IPC. The system is, in total, very complex; so much so that I don't even know where to start to at making a pared-down example.
So, I'll describe the behaviour. I run process in the same way (see http://paste.lisp.org/display/35085 for my code; at least, that's what it looked like after I had hacked it for a while trying to solve this problem) quite a number of times. At one point, process calls a Perl script that is set sticky (not that I think that matters, but there you are) that returns no output at all. process correctly sees it as returning no output. The *next* call to process appends a string, call it StringX, to the real output of the process it calls, for no apparent reason. StringX happens to be the mooix-internal name of the object whose mooix method was the Perl script I mentioned. I have no idea where it's coming from in this interaction; it's not passed through process at any point that I can see. The really wierd part: This only happens if the second argument to process is filled. I was filling it with (list "") just to avoid calling the shell (security warm-fuzzies). But now I've had to take that out, so this will work. This may very well *not* be a Chicken issue: as I said, the system is very complex and, in particular, hacks a number of libc calls, including exec*. However, I've never seen this behaviour before, using either C or Perl code in mooix, so... *shrug* Any help/suggestions/things to try welcome, although I do have a workaround. -Robin -- http://www.digitalkingdom.org/~rlpowell/ *** http://www.lojban.org/ Reason #237 To Learn Lojban: "Homonyms: Their Grate!" Proud Supporter of the Singularity Institute - http://singinst.org/ _______________________________________________ Chicken-users mailing list [email protected] http://lists.nongnu.org/mailman/listinfo/chicken-users
