Koichi Sasada 3427a1679a
retry on cancelling of getaddrinfo (#11131)
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
}
```
2024-07-09 08:55:04 -07:00
..
2023-11-30 08:19:28 +00:00
2023-11-07 04:16:02 +00:00
2023-12-13 05:01:16 +00:00
2023-11-07 06:55:45 +00:00
2023-11-08 09:25:45 +09:00
2023-12-16 13:51:34 +08:00
2023-12-05 15:09:56 +09:00
2023-11-07 07:55:13 +00:00
2023-12-19 11:07:47 +09:00
2023-12-16 13:06:37 +08:00
2023-11-07 05:52:50 +00:00
2024-05-29 11:35:46 -07:00