in reply to Complete mess with IO::Socket in ActivePerl 5.8.8.817

UDP sockets don't block. It seems Win32 (or at least the perl you are using on Win32) doesn't, therefore, allow setting that attribute. Also, I tried your code and tried to use fcntl to check the blocking status of the socket. It seems that ActiveState has not defined the O_NONBLOCK value, at least not in 5.8.1.

Replies are listed 'Best First'.
Re^2: Complete mess with IO::Socket in ActivePerl 5.8.8.817
by polettix (Vicar) on Jul 06, 2006 at 08:29 UTC
    UDP sockets don't block.
    It actually seems that they don't nonblock in Win32, don't they? :) Thank you for the time and effort traveler.

    Flavio
    perl -ple'$_=reverse' <<<ti.xittelop@oivalf

    Don't fool yourself.
      You are right. The default behavior in Windows is to block. However, it appears that this is not really a block for 16-bit apps as the message loop stays running, so the code can be re-entered somewhere else. However 32-bit apps hang the UI... Pretty interesting.