* Willem Rein Oudshoorn [2009-06-01 15:52+0200] writes:
I need some hints to start figuring out why I regularly get a "Process inferior-lisp hangup" in my *inferior-lisp* buffer, but I do not have clue where to start.
Situation:
- OS: Mac OS X
- Lisp version: sbcl 64bit 1.0.28 and ccl 1.3-r12156M (64bit)
- Slime version: CVS version as of today.
"Reproduction Scenario"
1 Start slime with one of the two lisp implementaitons mentioned above 2 Open "/dev/tty.NXT-DevB-1", which is a serial blue tooth connection to a Lego NXT brick. 3 Turn of the Lego NXT brick (the other side of the serial connection)
Fancy toys.
After this, I get the "Process inferior-lisp hangup" in the *inferior-lisp* buffer.
In contrast, if I do not run this through slime, but just run it from a terminal the lisp implementaiton is not killed.
I assume that the serial bluetooth connection is closed from the other side and that that somehow closes also the slime connection. But I don't know why, if this is normal, and how to change this behaviour.
All hints are appreciated.
To me it looks like the subprocess receives a SIGHUP when the serial connection goes down. At least http://en.wikipedia.org/wiki/SIGHUP mentions that as the historical usage of SIGHUP.
Perhaps it helps if you install a signal handler for SIGHUP to ignore it. It might also help to bind process-connection-type in slime-start-lisp to 'pty instead of nil.
Helmut.