Something went wrong while setting issue due date.
run-program doesn't close it's descriptors fast enough
(dotimes (i 1000)
(format t "bah ~A~%" i)
(dotimes (i 100)
(ext:run-program "echo" '("abcde") :wait t :output :stream)))
Condition of type: SIMPLE-ERROR
Unable to create stream for file descriptor 4093
C library explanation: Bad file descriptor.
Available restarts:
abcde
1. (RESTART-TOPLEVEL) Go back to Top-Level REPL.
Broken at SI:BYTECODES. [Evaluation of: (DOTIMES (I 1000) (FORMAT T "bah ~A~%" I) (SLEEP 1) (DOTIMES (I 100) (EXT:RUN-PROGRAM "echo" '("abcde") :WAIT T :OUTPUT :STREAM)))] In: #<process TOP-LEVEL>.
Proposed solution - check for error and force GC run if we're out of descritpors
(tested – it works if we put (ext:gc t) after format in example case