Added a new self._closed attribute in FTPHandler class indicating whether the channel has already been closed or not. This way we make sure close() method is called only one time avoiding occasional errors occurring on Windows. Why close() is sometimes called more than once I don't know. It will probably be an asyncore issue.
Added a new self._closed attribute in FTPHandler class indicating whether the channel has already been closed or not.
This way we make sure close() method is called only one time avoiding occasional errors occurring on Windows.
Why close() is sometimes called more than once I don't know. It will probably be an asyncore issue.

giampaolo/pyftpdlib