Closed GoogleCodeExporter closed 9 years ago
Could you please try whether removing the following lines in
AFUNIXServerSocket#close() would do what you want?
if (boundEndpoint != null) {
NativeUnixSocket.unlink(boundEndpoint.getSocketFile());
}
Cheers,
Christian
Original comment by ckkohl79
on 5 Oct 2010 at 6:22
I'm sure this would work. However, I realized I don't need it. I can just
always open the socket under a temporary name (whether there is already a
running instance or not) and rename it. junixsocket will try to delete the
temporary name and fail. So you can forget this weird request.
This approach also solves the other issue (6) I commented on. When I want to
gracefully shut down, I rename the socket to a new name, so it can no longer
receive "real" connections. (Or in the case of take-over, I link the socket to
a new name, then rename a new socket over it.) Then I connect to it (under the
new name) and send a shutdown message in my application protocol. Assuming the
OS doesn't reorder connections, I can be sure that by the time I accepted this
message, all real connections had already been accepted.
In other words, by using filesystem operations, I can achieve the "stop
listening, but continue to accept backlogged connections" semantic I was
looking for. Cool.
Original comment by tol...@gmail.com
on 6 Oct 2010 at 7:54
Agreed to solve this outside of junixsocket.
Closing.
Original comment by ckkohl79
on 20 Feb 2013 at 12:01
Original issue reported on code.google.com by
tol...@gmail.com
on 5 Oct 2010 at 12:06