I have a server application that do forced disconnects to clients on certain conditions by using self.transport.loseConnection() method. On random cases the method that I&#39;m using fails to disconnect the client on the fly. The socket connection that is supposed to be disconnected immediately get disconnected at random times (10-30mins) with an error of:<br>
<br><b><font size="1">Connection closed: [Failure instance: Traceback (failure with no frames): twisted.internet.error.ConnectionLost: Connection to the other side was lost in a non-clean fashion.<br></font></b><font size="1"><font size="2"><br>
Can anyone explain why is this happening? I checked the API docs of the loseConnection() and it says there that:<br><br><font size="1"><b>&quot;</b></font></font><b>Note that if there is a registered producer on a transport it will not 
be closed until the producer has been unregistered.&quot;</b></font><br><br>I have no idea what is a producer. By the way I&#39;m using twisted.words.xmlstream that implements Protocol and epoll as my reactor. Thanks in advance. :)<br>
<br>----<br>Alvin<br><br>