(issue 115) attempt to fix issue 115 by calling asyncore.dispatcher.close() *before* any other cleanup operation is done in every subclass which overrides asyncore.dispatcher.close().  This *should* avoid the endless loop described in the issue in case a call to file().close() fails for some reason.
(issue 115) attempt to fix issue 115 by calling asyncore.dispatcher.close() *before* any other cleanup operation is done in every subclass which overrides asyncore.dispatcher.close(). 
This *should* avoid the endless loop described in the issue in case a call to file().close() fails for some reason.

giampaolo/pyftpdlib