--- !ruby/object:RI::MethodDescription aliases: [] block_params: comment: - !ruby/struct:SM::Flow::P body: Accepts an incoming connection using accept(2) after O_NONBLOCK is set for the underlying file descriptor. It returns an accepted TCPSocket for the incoming connection. - !ruby/struct:SM::Flow::H level: 3 text: Example - !ruby/struct:SM::Flow::VERB body: " require 'socket'\n serv = TCPServer.new(2202)\n begin\n sock = serv.accept_nonblock\n rescue Errno::EAGAIN, Errno::EWOULDBLOCK, Errno::ECONNABORTED, Errno::EPROTO, Errno::EINTR\n IO.select([serv])\n retry\n end\n # sock is an accepted socket.\n" - !ruby/struct:SM::Flow::P body: Refer to Socket#accept for the exceptions that may be thrown if the call to TCPServer#accept_nonblock fails. - !ruby/struct:SM::Flow::P body: TCPServer#accept_nonblock may raise any error corresponding to accept(2) failure, including Errno::EAGAIN. - !ruby/struct:SM::Flow::H level: 3 text: See - !ruby/object:SM::Flow::LIST contents: - !ruby/struct:SM::Flow::LI label: "*" body: TCPServer#accept - !ruby/struct:SM::Flow::LI label: "*" body: Socket#accept type: :BULLET full_name: TCPServer#accept_nonblock is_singleton: false name: accept_nonblock params: | tcpserver.accept_nonblock => tcpsocket visibility: public