From: Nicolas Neuss <neuss@ma...> - 2009-06-11 10:48:35
Cyrus Harmon <ch-tbnl@...> writes:
> Today I figured out that if I manually close the process, bad things
> happen a lot less frequently. This may seem obvious,
Indeed - and I have been bitten by this too (I figured it out myself some
months ago). So, although obvious, it could be very helpful for some
people that you report it here.
> but if after calling sb-ext:run-program I make an unwind-protect block
> and call sb- ext:process-wait and sb-ext:process-close, things get a lot
> better. I guess I should have suspected that something like this might
> have been the problem when I had errors such as:
> [2009-06-10 20:37:03 [ERROR]] The value 1026 is not of type (MOD 1025).
How do you do the whole construct? I must admit that I did not use
UNWIND-PROTECT for my fix. Probably, the right thing is not to use
run-program in such cases at all, but introduce a wrapper macro for SBCL
(this should therefore be more appropriate for the SBCL list to which I CC
this as well).
For example, see the Allegro CL documentation:
"The :osi module (see Operating System Interface Functionality in
os-interface.htm) has these new operators relating to running
subprocesses: the function command-output and the macros
with-command-output and with-command-io. They are higher-level than
run-shell-command and shell and are now recommended when the interaction
with the subprocess requires input or produces output that must be
Get latest updates about Open Source Projects, Conferences and News.