I just committed a fix for the race condition that happens when a serial port gets disconnected on GNU/Linux and Mac OS X. Please test heavily on those platforms, including yanking out the USB plug and going out of range with a bluetooth. It should just cleanly close the serial port now.
http://autobuild.puredata.info/auto-build/latest/
Basically, when a serial port is open using [comport] and the connection gets broken, like if the USB gets pulled, then comport gets stuck in the while(select()) loop in comport_tick().
I changed "if (err >= 0)" to "if (err > 0)" in this commit: http://pure-data.svn.sourceforge.net/viewvc/pure-data?view=revision&revi...
Then added handling for err == 0 in this commit: http://pure-data.svn.sourceforge.net/viewvc/pure-data?view=revision&revi...
Hopefully this doesn't cause any issues because it fixes a big problem :-)
.hc
"We have nothing to fear from love and commitment." - New York Senator Diane Savino, trying to convince the NY Senate to pass a gay marriage bill