Koichi Sasada bd583ca645 retry on cancelling of getaddrinfo
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-06-21 22:36:42 +09:00
..
2024-06-13 18:27:02 +02:00
2024-04-27 21:55:28 +09:00
2024-04-27 21:55:28 +09:00
2024-04-27 21:55:28 +09:00
2024-04-27 21:55:28 +09:00
2024-04-27 21:55:28 +09:00
2024-06-20 15:16:57 +09:00
2024-04-27 21:55:28 +09:00
2024-04-27 21:55:28 +09:00
2024-04-27 21:55:28 +09:00
2024-04-27 21:55:28 +09:00
2024-04-27 21:55:28 +09:00
2024-06-21 22:36:42 +09:00
2024-06-04 12:40:08 +09:00