From e52b1a3a4fbe13ddd6d27bdab3a35b9a9e178c85 Mon Sep 17 00:00:00 2001 From: Aaron Stone Date: Fri, 9 Oct 2015 02:16:39 -0700 Subject: [PATCH] Assume F_GETFL is available --- code/protocol.rb | 15 ++++----------- 1 file changed, 4 insertions(+), 11 deletions(-) diff --git a/code/protocol.rb b/code/protocol.rb index ae24ec3..3c43d11 100644 --- a/code/protocol.rb +++ b/code/protocol.rb @@ -14,20 +14,13 @@ def set_protocol_messages(messages) end def set_nonblocking(sock) - flag = File::NONBLOCK - if defined?(Fcntl::F_GETFL) - flag |= sock.fcntl(Fcntl::F_GETFL) - end - sock.fcntl(Fcntl::F_SETFL, flag) + flags = sock.fcntl(Fcntl::F_GETFL) | Fcntl::O_NONBLOCK + sock.fcntl(Fcntl::F_SETFL, flags) end def reset_nonblocking(sock) - # Linux Doesn't inherit and BSD does... recomended behavior is to set again - flag = 0xffffffff ^ File::NONBLOCK - if defined?(Fcntl::F_GETFL) - flag &= sock.fcntl(Fcntl::F_GETFL) - end - sock.fcntl(Fcntl::F_SETFL, flag) + flags = sock.fcntl(Fcntl::F_GETFL) ^ Fcntl::O_NONBLOCK + sock.fcntl(Fcntl::F_SETFL, flags) end def read_packet(sock)