AnyEvent and Strawberry perl issue

Marc Lehmann schmorp at schmorp.de
Sun Mar 15 02:01:08 CET 2015


In any case, for anybody who doesn't want to read through my long and
detailed reply (I wouldn't want to, because it deals with all the
irrelevant pseudo-arguments Steve has brought up), here is a short summary
and explanation of the main points:

1. this is not the first time where perl5porters gratituously break code,
   implement bugs and then refuse to fix them. I have zero patience for
   people who prefer to bullshit bug reporters over doing maintenance
   work.

2. mapping WSAEWOULDBLOCK to EWOULDBLOCK rather than EAGAIN is a quality
   of implementation issue. Perl offers the worst possible implementation,
   and I argue it should do better, while Steve argues it is allowed by
   POSIX. That perl otherwise doesn't implement POSIX behaviour on windows
   (blatant example: select) and that POSIX would be compatible with a
   better (namely defacto standard) implementation doesn't concern him.

3. mapping WSAEINPROGRESS to EINPROGRESS and many other codes (such as
   WSAEINVAL to EINVAL) is not a question if quality, it's simply a bug.
   Steve builds a strawmen about WSAEWOULDBLOCK and shoots it down,
   while completely ignoring the real bug here, namely that perl maps
   almost all WSA error codes to non-equivalent or completely
   wrong POSIX codes.

4. mapping windows-socket specific codes to POSIX codes with wrong
   or even opposite semantics makes writing portable programs extremely
   hard, because code has to suddenly differentiate between
   e.g. perl-win32 EINPROGRESS and POSIX EINPROGRESS, which is hard.


-- 
                The choice of a       Deliantra, the free code+content MORPG
      -----==-     _GNU_              http://www.deliantra.net
      ----==-- _       generation
      ---==---(_)__  __ ____  __      Marc Lehmann
      --==---/ / _ \/ // /\ \/ /      schmorp at schmorp.de
      -=====/_/_//_/\_,_/ /_/\_\



More information about the anyevent mailing list