The scheduler is integrated into twisted's event loop I presume. So, instead of making FileDescriptor thread-safe, how abou making the scheduler htread safe, and then threads that want to write or close a socket can add this operation to the scheduler?