# Watch for changes in the states of several sockets.
fun select(max: Socket, seconds: Int, microseconds: Int): Bool
do
# FIXME this implementation (see the call to nullable attributes below) and
# `NativeSockectObserver::select` is not stable.
var timeval = new NativeTimeval(seconds, microseconds)
var rd = if read_set != null then read_set.as(not null).native else null
var wrt = if write_set != null then write_set.as(not null).native else null
var expt = if except_set != null then except_set.as(not null).native else null
return native.select(max.native, rd, wrt, expt, timeval) > 0
end
lib/socket/socket.nit:329,2--340,4