Tests: fixed grpc.t TODO hang on win32.
The eval + alarm model was replaced with non-blocking I/O
for the same reasons as in d0025a0dead7.
diff --git a/grpc.t b/grpc.t
index cb2004d..f61cb36 100644
--- a/grpc.t
+++ b/grpc.t
@@ -719,17 +719,11 @@
{ name => 'te', value => 'trailers', mode => 2 }]});
if (!$extra{reuse}) {
- eval {
- local $SIG{ALRM} = sub { die "timeout\n" };
- alarm(5);
+ if (IO::Select->new($server)->can_read(5)) {
+ $client = $server->accept();
- $client = $server->accept() or return;
-
- alarm(0);
- };
- alarm(0);
- if ($@) {
- log_in("died: $@");
+ } else {
+ log_in("timeout");
# connection could be unexpectedly reused
goto reused if $client;
return undef;