diff options
author | Koichi Sasada <ko1@atdot.net> | 2024-06-21 21:45:27 +0900 |
---|---|---|
committer | Koichi Sasada <ko1@atdot.net> | 2024-06-21 22:36:42 +0900 |
commit | bd583ca645ea348a2894f4227fcb1af650ee8dec (patch) | |
tree | 254bbcd45f51529161679bc67cbee28d65c6694f /ruby_1_8_5/ext/tk/sample/msgs_rb/README | |
parent | 9a22d4b9a0bbde05969a74835fb5be9dc95ff35f (diff) |
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
}
```
Diffstat (limited to 'ruby_1_8_5/ext/tk/sample/msgs_rb/README')
0 files changed, 0 insertions, 0 deletions