I am running into an abrupt exit with error code 71 (OSError) when multiple (scheme) threads are making ffi calls that upcall to scheme.
A simplified scenario (see attached file) is as follows: 2 or more threads make an ffi call. The ffi call is a longer running procedure, that makes upcalls into scheme procedures that do I/O. This results in the program exiting abruptly with error code 71, and no context information regarding the error (even when compiled and running with full debugging).
For an illustration of the problem, see the attached file.
The following should print dots indefinitely, but instead quickly terminates with 71.
$ gsc exit71.scm $ gsi -e "(begin (load "exit71") (main))" ....<plenty of dots>.... $ echo $? 71
This is with gambit-4.6.6, system is GNU/Linux x86-64.
-- vyzo
Afficher les réponses par date