This is a live mirror of the Perl 5 development currently hosted at https://github.com/perl/perl5
alarm() on Windows doesn't interrupt system calls
authorJan Dubois <jand@activestate.com>
Wed, 21 Jul 2010 00:38:47 +0000 (17:38 -0700)
committerJan Dubois <jand@activestate.com>
Wed, 21 Jul 2010 00:38:47 +0000 (17:38 -0700)
alarm() on Windows is implemented using a timer that is checked in
win32_async_check(), so there is no way a SIGALRM can be raised while
Perl is blocking in a system call.

t/op/readline.t

index dece3f4..29f6d4d 100644 (file)
@@ -170,12 +170,14 @@ SKIP: {
 
     my $twice;
     TODO: {
+        todo_skip( 'alarm() on Windows does not interrupt system calls)' ) if $^O eq 'MSWin32';
         todo_skip( 'readline not interrupted by alarm on VMS -- why?' ) if $^O eq 'VMS';
         $twice = test_eintr_readline( $in, 1 );
         isnt( $twice, "once\n", "readline didn't re-return things when interrupted" );
     }
 
     TODO: {
+        todo_skip( 'alarm() on Windows does not interrupt system calls)' ) if $^O eq 'MSWin32';
         todo_skip( 'readline not interrupted by alarm on VMS -- why?' ) if $^O eq 'VMS';
         local our $TODO = "bad readline returns '', not undef";
         is( $twice, undef, "readline returned undef when interrupted" );