I have a server app which listens on a port. If the app crashes (with a segmentation fault for example) and I attempt to restart it, I cannot bind() to that same port address again – I receive an “address in use” error.
Apparently, the TCP/IP stack did not clean up resources after the client application crashed. This seems like a serious flaw for a robust OS. I have to believe there is a workaround for this, or perhaps this is a recently introduced bug in 6.3.
Anyone have any information about this?