     
     private func safeRegister(interested: InterestedEvent) {
         guard open else {
-            safeDeregister()
+            interestedEvent = .None
             return
         }
         interestedEvent = interested

        switch interestedEvent {
        case .Write:
            // writes are pending
            safeReregister(interested: InterestedEvent.All)
        case .None:
            safeRegister(interested: InterestedEvent.Read)
        default:
            break
        }

            if open, !readPending {
                switch interestedEvent {
                case .Read:
                    safeReregister(interested: .None)
                case .All:
                    safeReregister(interested: .Write)
                default:
                    break
                }
