Skip Menu |

This queue is for tickets about the IO-Epoll CPAN distribution.

Report information
The Basics
Id: 70924
Status: open
Priority: 0/
Queue: IO-Epoll

People
Owner: bjkcpan [...] drangle.com
Requestors: nick [...] ccl4.org
Cc: perl5-porters [...] perl.org
AdminCc:

Bug Information
Severity: Important
Broken in:
  • 0.01
  • 0.02
Fixed in: (no value)



CC: perl5-porters [...] perl.org
EPoll.xs makes assumptions about the internal representation of POSIX::SigSet objects, accessing them directly, instead of using any documented API. We've had to change the internal representation to resolve a bug. Attached patch allows EPoll.xs to continue to make assumptions about the internal representation :-) [Won't actually work as-is until blead's version is bumped to 5.15.3, likely in about a week]
Subject: IO-EPoll.patch
--- Epoll.xs~ 2009-01-24 22:03:51.000000000 +0000 +++ Epoll.xs 2011-09-11 13:27:26.000000000 +0100 @@ -78,10 +78,13 @@ if(SvOK(sigmask)) { if(!sv_derived_from(sigmask, "POSIX::SigSet")) Perl_croak(aTHX_ "epoll_pwait: sigmask is not of type POSIX::SigSet"); - +#if PERL_VERSION > 15 || PERL_VERSION == 15 && PERL_SUBVERSION > 2 + sigmask_real = (sigset_t *) SvPV_nolen(SvRV(sigmask)); +#else /* This code borrowed from POSIX.xs */ IV tmp = SvIV((SV*)SvRV(sigmask)); sigmask_real = INT2PTR(sigset_t*, tmp); +#endif } else { sigmask_real = NULL;
Nick, could you add a subject line? It's so easy to miss this ticket;) Thanks
CC: perl5-porters [...] perl.org
Subject: Re: [rt.cpan.org #70924]
Date: Wed, 4 Jan 2012 09:37:08 +0000
To: Andreas Koenig via RT <bug-IO-Epoll [...] rt.cpan.org>
From: Nicholas Clark <nick [...] ccl4.org>
On Tue, Jan 03, 2012 at 04:22:34PM -0500, Andreas Koenig via RT wrote: Show quoted text
> <URL: https://rt.cpan.org/Ticket/Display.html?id=70924 > > > Nick, could you add a subject line? It's so easy to miss this ticket;)
Ticket 70924: Permission Denied No, I can't :-( [I have this vague memory that I tried this before. That error is with me logged in with my PAUSE credentials. If I log out, and log back in with my perl.org credentials, I can't even get to the relevant page that would let me attempt to change the subject] Subject I would have used is: IO::Epoll relies on the undocumented internal representation of POSIX::SigSet Nicholas Clark
Patch applied and uploaded to PAUSE as version 0.03. Thanks!