module Ethon::Multies::Operations
def set_fds(timeout)
-
(Ethon::Errors::Select)
- when select failed. -
(Ethon::Errors::MultiFdset)
- when setting the file descriptors failed.
Other tags:
- Example: Set fds. -
def set_fds(timeout) code = Curl.multi_fdset(handle, @fd_read, @fd_write, @fd_excep, @max_fd) raise Errors::MultiFdset.new(code) unless code == :ok max_fd = @max_fd.read_int if max_fd == -1 sleep(0.001) else @timeval[:sec] = timeout / 1000 @timeval[:usec] = (timeout * 1000) % 1000000 code = Curl.select(max_fd + 1, @fd_read, @fd_write, @fd_excep, @timeval) raise Errors::Select.new(::FFI.errno) if code < 0 end end