mirror of
https://github.com/ruby/ruby.git
synced 2025-09-15 08:33:58 +02:00
![]() When the registerred unblock function is called, it should retry the cancelled blocking function if possible after checkints. For example, `SIGCHLD` can cancel this method, but it should not raise any exception if there is no trap handlers. The following is repro-code: ```ruby require 'socket' PN = 10_000 1000000.times{ p _1 PN.times{ fork{ sleep rand(0.3) } } i = 0 while i<PN cpid = Process.wait -1, Process::WNOHANG if cpid # p [i, cpid] i += 1 end begin TCPServer.new(nil, 0).close rescue p $! exit! end end } ``` |
||
---|---|---|
.. | ||
lib | ||
.document | ||
addrinfo.h | ||
ancdata.c | ||
basicsocket.c | ||
constants.c | ||
depend | ||
extconf.rb | ||
getaddrinfo.c | ||
getnameinfo.c | ||
ifaddr.c | ||
init.c | ||
ipsocket.c | ||
mkconstants.rb | ||
option.c | ||
raddrinfo.c | ||
rubysocket.h | ||
socket.c | ||
sockport.h | ||
sockssocket.c | ||
tcpserver.c | ||
tcpsocket.c | ||
udpsocket.c | ||
unixserver.c | ||
unixsocket.c |