Method: BasicSocket#close_read
- Defined in:
- basicsocket.c
#close_read ⇒ nil
Disallows further read using shutdown system call.
s1, s2 = UNIXSocket.pair
s1.close_read
s2.puts #=> Broken pipe (Errno::EPIPE)
121 122 123 124 125 126 127 128 129 130 131 132 133 134 |
# File 'basicsocket.c', line 121 static VALUE bsock_close_read(VALUE sock) { rb_io_t *fptr; GetOpenFile(sock, fptr); shutdown(fptr->fd, SHUT_RD); if (!(fptr->mode & FMODE_WRITABLE)) { return rb_io_close(sock); } fptr->mode &= ~FMODE_READABLE; return Qnil; } |