Current Path : /opt/alt/ruby18/lib64/ruby/1.8/io/ |
Current File : //opt/alt/ruby18/lib64/ruby/1.8/io/nonblock.rb |
require "fcntl" class IO def nonblock? (fcntl(Fcntl::F_GETFL) & File::NONBLOCK) != 0 end def nonblock=(nb) f = fcntl(Fcntl::F_GETFL) if nb f |= File::NONBLOCK else f &= ~File::NONBLOCK end fcntl(Fcntl::F_SETFL, f) end def nonblock(nb = true) nb, self.nonblock = nonblock?, nb yield ensure self.nonblock = nb end end if defined?(Fcntl::F_GETFL)