While reading through comp.unix.solaris, I came across the following hung serial port post from Andrew Gabriel:
There is a bug (actually a POSIX bug) that can leave the port permanently wedged if there are characters buffered to be transmitted but they never will be (e.g. due to flow controlled off).
This is circumvented in Solaris 10, in that if this situation arises, the driver will discard the buffered characters after a timeout if the process that had the port open no longer exists, so the port can be opened again and reused. (However, you can’t run Solaris 10 on a SPARCstation 5.)
This issue has bit me several times over the years, and I am glad to see that it’s addressed in Solaris 10.