threads + gds + with-input-from-string == fail
Hello, It took me a while to isolate, but GDS has a problem when evaluating code that changes the current input port. For example, evaluate the following: (with-input-from-string (+ 2 3) read) If you are running with a utility guile, this should work. However, if you start up another guile running GDS in a thread: $ guile guile (use-modules (ice-9 threads) (ice-9 gds-client)) guile (make-thread run-utility) Then reassociate that buffer with the new process, and try evaluating the above form. For me, GDS goes into the running state and never comes back. To fix you have to kill the guile, kill the debug server, and disassociate buffers. Any idea why this is the case? It would be great to fix it. Andy -- http://wingolog.org/
Re: threads + gds + with-input-from-string == fail
Andy Wingo [EMAIL PROTECTED] writes: Hello, Hi Andy, It took me a while to isolate, but GDS has a problem when evaluating code that changes the current input port. For example, evaluate the following: (with-input-from-string (+ 2 3) read) If you are running with a utility guile, this should work. However, if you start up another guile running GDS in a thread: $ guile guile (use-modules (ice-9 threads) (ice-9 gds-client)) guile (make-thread run-utility) Then reassociate that buffer with the new process, and try evaluating the above form. For me, GDS goes into the running state and never comes back. To fix you have to kill the guile, kill the debug server, and disassociate buffers. Any idea why this is the case? It would be great to fix it. I'm trying to set up to reproduce this myself; but meanwhile, there might be some clues at the end of the gds-debug buffer. Could you repro, then cut and paste the last 30 lines (say) of that buffer? Thanks, Neil
Re: threads + gds + with-input-from-string == fail
Neil Jerram [EMAIL PROTECTED] writes: Andy Wingo [EMAIL PROTECTED] writes: Then reassociate that buffer with the new process, and try evaluating the above form. For me, GDS goes into the running state and never comes back. To fix you have to kill the guile, kill the debug server, and disassociate buffers. Any idea why this is the case? It would be great to fix it. I'm trying to set up to reproduce this myself; but meanwhile, there might be some clues at the end of the gds-debug buffer. Could you repro, then cut and paste the last 30 lines (say) of that buffer? I can't reproduce this problem with current Guile CVS, and we have fixed a couple of thready things recently, so you never know... What version of Guile are you using? Regards, Neil