Skip Menu |

This queue is for tickets about the POE CPAN distribution.

Report information
The Basics
Id: 4476
Status: resolved
Priority: 0/
Queue: POE

People
Owner: Nobody in particular
Requestors: s0lar [...] gmx.li
Cc:
AdminCc:

Bug Information
Severity: (no value)
Broken in: (no value)
Fixed in: (no value)



Date: Mon, 24 Nov 2003 22:11:34 -0500
From: Rocco Caputo <rcaputo [...] pobox.com>
To: bug-POE [...] rt.cpan.org
CC: s0lar [...] gmx.li
Subject: POSIX ETIMEDOUT not available in ActivePerl 5.8.1
<_SoLaR_> Your vendor has not defined POSIX macro ETIMEDOUT, used at C:/Perl/P6/site/lib/OE/Component/Client/TCP.pm line 208 <dngor> So which version of Windows are you using? <_SoLaR_> w2k <_SoLaR_> as long i use one socked at a time it works okay <_SoLaR_> if i use more sooner or later that error will apear <_SoLaR_> but as i told it works well on linux <_SoLaR_> even with 100-200 simultaneous connects <dngor> Interesting. Sounds like ETIMEDOUT is only being exercised when you get a connection error. <_SoLaR_> yes <_SoLaR_> and then all other sockets wait for this one <dngor> Does this also give you the error: perl -wle "use POSIX qw(ETIMEDOUT); print ETIMEDOUT" <_SoLaR_> Your vendor has not defined POSIX macro ETIMEDOUT, used at -e line 1 <dngor> Which version of Perl? <_SoLaR_> 5.81 <_SoLaR_> newest <dngor> I don't suppose you know the value of WSAETIMEDOUT <dngor> Or a Perl module where I might get it. <dngor> found it: http://www.partware.com/ebooks/api/ref/other/winsockerror.html So, ETIMEDOUT doesn't exist in POSIX, in ActivePerl 5.8.1. Neither do a lot of other constants. It's gone to the point where we probably need a POSIX portability module for MSWin32. It can pass POSIX values through unscathed everywhere else. I would love to move most of the hacks and workarounds for MSWin32 out of the main body of code. -- Rocco Caputo - rcaputo@pobox.com - http://poe.perl.org/
Date: Mon, 24 Nov 2003 23:07:06 -0500
From: sungo <sungo [...] eekeek.org>
To: Rocco Caputo via RT <bug-POE [...] rt.cpan.org>
Subject: Re: [cpan #4476] POSIX ETIMEDOUT not available in ActivePerl 5.8.1
RT-Send-Cc:
On (11/24 22:12), Rocco Caputo via RT wrote: Show quoted text
> I would love to move most of the hacks and workarounds for MSWin32 out > of the main body of code.
so, let me get this straight. perl's posix module isn't posix compliant on win32? at what point do we stop this progression towards being unix for windows and just say "screw it" ? -- Matt Cashner http://eekeek.org eek at eekeek dot org
Date: Tue, 25 Nov 2003 06:46:32 +0000
Subject: Re: [cpan #4476] POSIX ETIMEDOUT not available in ActivePerl 5.8.1
From: Arthur Bergman <sky [...] nanisky.com>
To: bug-POE [...] rt.cpan.org
RT-Send-Cc:
On Tuesday, November 25, 2003, at 04:13 am, sungo via RT wrote: Show quoted text
>
>> I would love to move most of the hacks and workarounds for MSWin32 out >> of the main body of code.
> > so, let me get this straight. perl's posix module isn't posix compliant > on win32? > > at what point do we stop this progression towards being unix for > windows > and just say "screw it" ? >
The perls POSIX module just exposes the underlying systems POSIX elements, the goal isn't to be POSIX compliant I think, just screw it, but then I never have to use win32 Arthur
Date: Tue, 25 Nov 2003 21:40:01 -0500
From: Rocco Caputo <rcaputo [...] pobox.com>
To: sungo via RT <bug-POE [...] rt.cpan.org>
Subject: Re: [cpan #4476] POSIX ETIMEDOUT not available in ActivePerl 5.8.1
RT-Send-Cc:
On Mon, Nov 24, 2003 at 11:13:40PM -0500, sungo via RT wrote: Show quoted text
> > This message about POE was sent to you by sungo@eekeek.org <sungo@eekeek.org> via rt.cpan.org > > Full context and any attached attachments can be found at: > <URL: https://rt.cpan.org/Ticket/Display.html?id=4476 > > > On (11/24 22:12), Rocco Caputo via RT wrote: >
> > I would love to move most of the hacks and workarounds for MSWin32 out > > of the main body of code.
> > so, let me get this straight. perl's posix module isn't posix compliant > on win32? > > at what point do we stop this progression towards being unix for windows > and just say "screw it" ?
Turns out we just need to use Errno instead of POSIX for the error constants. It *does* export ETIMEDOUT, and it probably has the others. -- Rocco Caputo - rcaputo@pobox.com - http://poe.perl.org/
Fixed, sort of. Replaced the POSIX constants (which don't exist) with Errno constants (which do). It still needs testing on Windows; maybe s0lar can try cvspoe for us? -- Rocco Caputo - rcaputo@pobox.com - http://poe.perl.org/
From: s0lar [...] gmx.li
[RCAPUTO - Tue Nov 25 22:52:22 2003]: Show quoted text
> Fixed, sort of. Replaced the POSIX constants (which don't exist) with > Errno constants (which do). It still needs testing on Windows; maybe > s0lar can try cvspoe for us?
Tested it and that error is not anymore shown. I cant say more because im not that good with perl. But looks fine. My initial problem was with POE and blocking sockets. Under w2k if one socket blocks then also the others are stuck and it happens offten. With cygwin the timing looks much better but also here is a problem and if one blocks then the rest of the process is hanging until the blocking one gets a timeout after 180 secs The bad thing is cant cant give more info because i would need to write a new sample script and i dont have that many time at the moment. Regards solar