Update UDPSocket#send
to use rb_io_blocking_region
.
This commit is contained in:
parent
67d6e89b0b
commit
3031bf6bd4
Notes:
git
2024-10-09 10:49:11 +00:00
@ -156,6 +156,7 @@ udp_send_internal(VALUE v)
|
|||||||
struct addrinfo *res;
|
struct addrinfo *res;
|
||||||
|
|
||||||
rb_io_check_closed(fptr = arg->fptr);
|
rb_io_check_closed(fptr = arg->fptr);
|
||||||
|
|
||||||
for (res = arg->res->ai; res; res = res->ai_next) {
|
for (res = arg->res->ai; res; res = res->ai_next) {
|
||||||
retry:
|
retry:
|
||||||
arg->sarg.fd = fptr->fd;
|
arg->sarg.fd = fptr->fd;
|
||||||
@ -166,7 +167,7 @@ udp_send_internal(VALUE v)
|
|||||||
rb_io_wait(fptr->self, RB_INT2NUM(RUBY_IO_WRITABLE), Qnil);
|
rb_io_wait(fptr->self, RB_INT2NUM(RUBY_IO_WRITABLE), Qnil);
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
ssize_t n = (ssize_t)BLOCKING_REGION_FD(rsock_sendto_blocking, &arg->sarg);
|
ssize_t n = (ssize_t)rb_io_blocking_region(fptr, rsock_sendto_blocking, &arg->sarg);
|
||||||
|
|
||||||
if (n >= 0) return RB_SSIZE2NUM(n);
|
if (n >= 0) return RB_SSIZE2NUM(n);
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user