Method: Socket::Option.linger
- Defined in:
- option.c
.Socket::Option.linger(onoff, secs) ⇒ Object
Creates a new Socket::Option object for SOL_SOCKET/SO_LINGER.
onoff should be an integer or a boolean.
secs should be the number of seconds.
p Socket::Option.linger(true, 10)
#=> #<Socket::Option: UNSPEC SOCKET LINGER on 10sec>
294 295 296 297 298 299 300 301 302 303 304 305 306 |
# File 'option.c', line 294 static VALUE sockopt_s_linger(VALUE klass, VALUE vonoff, VALUE vsecs) { VALUE tmp; struct linger l; memset(&l, 0, sizeof(l)); if (!NIL_P(tmp = rb_check_to_integer(vonoff, "to_int"))) l.l_onoff = NUM2INT(tmp); else l.l_onoff = RTEST(vonoff) ? 1 : 0; l.l_linger = NUM2INT(vsecs); return rsock_sockopt_new(AF_UNSPEC, SOL_SOCKET, SO_LINGER, rb_str_new((char*)&l, sizeof(l))); } |