Hi all! I'm playing with client thread abort issues in Npgsql. And with a test sample one of our users provided us we are seeing that even after the client finishes its processing, I'm seeing some stalled server processes processing the query. The problem is that those server processes seem not to die when the client disconnects. Even worse, if I try to stop server, because of then, the server can't shutdown. Have you seen something like that? Is it possible that I can mess up with frontend protocol so that the server process keeps waiting for something? What is strange is that even after the socket is closed, the server process is still there. Also, I'd like to ask what is the best way of handling an abrupt client abortion. On my tests I'm doing the following: I'm sending a cancelrequest message followed by closing the socket. I know this isn't the most elegant way of doing it. For me the ideal would be to clear the protocol from any garbage the abrupt interruption may let it and return the connection to our internal pool. But I don't have any idea about how to clear the protocol state other than send the cancelrequest and try to "eat" any still existent byte in the stream until I receive an errorresponse or readyforquery (in case the query was successfully executed before the cancelrequest) But this approach may lead me to read up too much bytes before cleaning the protocol, or am I missing something? I'm using Postgresql 8.3.3 on OSX 10.5.4 Thanks in advance for any advice about this issue. -- Regards, Francisco Figueiredo Jr. http://fxjr.blogspot.com http://www.npgsql.org