Skip to content

Commit

Permalink
Unix Domain Socket - Always deregister interest in OP_READ after call…
Browse files Browse the repository at this point in the history
…ing channel.read
  • Loading branch information
longshorej committed Jul 2, 2018
1 parent 3b06c06 commit 5932b0c
Showing 1 changed file with 4 additions and 1 deletion.
Original file line number Diff line number Diff line change
Expand Up @@ -168,10 +168,13 @@ object UnixDomainSocket extends ExtensionId[UnixDomainSocket] with ExtensionIdPr
val pendingResult = queue.offer(ByteString(buffer))
pendingResult.onComplete(_ => sel.wakeup())
sendReceiveContext.receive = PendingReceiveAck(queue, buffer, pendingResult)
key.interestOps(key.interestOps() & ~SelectionKey.OP_READ)

} else {
queue.complete()
}

key.interestOps(key.interestOps() & ~SelectionKey.OP_READ)

case PendingReceiveAck(receiveQueue, receiveBuffer, pendingResult) if pendingResult.isCompleted =>
pendingResult.value.get match {
case Success(QueueOfferResult.Enqueued) =>
Expand Down

0 comments on commit 5932b0c

Please sign in to comment.