AnyEvent::Socket and Windows

Henrik Pauli henrik.pauli at
Thu Sep 27 14:23:17 CEST 2012

Hi all,

I ran into a little issue with AnyEvent::Socket under Win32, which, 
while it turned out to be a result of us overriding $SIG{__DIE__}, I 
think it might still be worth a mention.  Of course, the problem can be 
solved with locally undefining the signal handler, so it's not really an 

There's the code on line 582, where you define $sa_un_zero with an eval. 
  This eval catches a die on Win32 (because there's no 
Socket::pack_sockaddr_un), but in the case of a $SIG{__DIE__} override 
it runs the callback (and in our case, exits the application).  Judging 
from how there's no AF_UNIX on Win32, maybe this call just shouldn't be 
attempted at all.

So I wonder if replacing (or augmenting) the eval {} with an unless 
AnyEvent::WIN32 would make any sense.

More information about the anyevent mailing list