'Implement L{IReactorFDSet.removeWriter}.'

def removeWriter(self, writer):

    wasLost = False
    try:
        fd = writer.fileno()
    except:
        fd = (-1)
    if (fd == (-1)):
        for (fd, fdes) in self._selectables.items():
            if (writer is fdes):
                wasLost = True
                break
        else:
            return
    if (fd in self._writes):
        self._writes.remove(fd)
        if (fd not in self._reads):
            del self._selectables[fd]
        if (not wasLost):
            try:
                self._updateRegistration(fd, KQ_FILTER_WRITE, KQ_EV_DELETE)
            except OSError:
                pass
