This queue is for tickets about the Danga-Socket CPAN distribution.

Report information
The Basics
Id:
129484
Status:
resolved
Priority:
Low/Low
Queue:

People
Owner:
NML [...] cpan.org
Requestors:
e [...] 80x24.org
Cc:
AdminCc:

BugTracker
Severity:
(no value)
Broken in:
(no value)
Fixed in:
1.62

Attachments
0001-deal-with-EINTR-in-IO-Poll-path.patch



Subject: [PATCH] deal with EINTR in IO::Poll path
Date: Wed, 8 May 2019 02:44:46 +0000
To: bug-Danga-Socket@rt.cpan.org
From: Eric Wong <e@80x24.org>
IO::Poll::_poll returns -1 on EINTR, so we must not scan @poll on in those cases since it can falsely report $state readiness when $count == -1. (see attached)

Message body is not shown because sender requested not to inline it.

Subject: Re: [rt.cpan.org #129484] [PATCH] deal with EINTR in IO::Poll path
Date: Wed, 8 May 2019 06:45:18 +0000
To: bug-Danga-Socket@rt.cpan.org
From: Eric Wong <e@80x24.org>
Btw, I should note the IO::KQueue code path has a similar bug. Ideally, it should be fixed in IO::KQueue, but that's also seems abandoned: https://rt.cpan.org/Ticket/Display.html?id=116615 Anyways, I have a local fork of Danga::Socket for public-inbox which evals and reads $@ to workaround this bug: https://public-inbox.org/meta/20190505045614.GA7031@ailurophile/#iZ30lib:PublicInbox:DS.pm
The bug is fixed in https://cpan.metacpan.org/authors/id/N/NM/NML/Danga-Socket-1.62_03-TRIAL.tar.gz Please test and/or review the code. It's a preview version and I'll release normal 1.62 in a week or so if no new easy to fix problems are discovered. - CPAN Testers: http://matrix.cpantesters.org/?dist=Danga-Socket+1.62_03-TRIAL (all green at the time of the posting) - GitHub: https://github.com/nponeccop/libdanga-socket-perl/tree/windows-blocking
Subject: Re: [rt.cpan.org #129484] [PATCH] deal with EINTR in IO::Poll path
Date: Fri, 25 Oct 2019 19:04:31 +0000
To: Andrii Melnykov via RT <bug-Danga-Socket@rt.cpan.org>
From: Eric Wong <e@80x24.org>
Andrii Melnykov via RT <bug-Danga-Socket@rt.cpan.org> wrote:
Show quoted text
Good to know Danga::Socket isn't dead :) Btw, IO::KQueue has a similar problem with EINTR: https://rt.cpan.org/Ticket/Display.html?id=116615 But IO::KQueue also seems dead upstream... Would it be appropriate for Danga::Socket to workaround it by wrapping IO::KQueue->kevent calls with eval? Thanks.
1.62 is officially out. I think at this stage Danga::Socket is "dead, but supported". Also, there is Danga::Socket::AnyEvent (also abandoned), a fork of D::S to implement the same API but use AnyEvent internally. Please report the IO::KQueue issue independently. If you provide a patch, please include a test which fails before the change and succeeds after it. I have FreeBSD so I can validate the patch but I'm not a FreeBSD developer so I only can use your code. You can either do the patch or submit a GitHub PR if it's easier. Note that until that GitHub repo becomes official - I'd probably add it to the metadata in 1.63 - use RT as the tracker.
Subject: Re: [rt.cpan.org #129484] [PATCH] deal with EINTR in IO::Poll path
Date: Fri, 8 Nov 2019 01:09:46 +0000
To: Andrii Melnykov via RT <bug-Danga-Socket@rt.cpan.org>
From: Eric Wong <e@80x24.org>
Andrii Melnykov via RT <bug-Danga-Socket@rt.cpan.org> wrote:
Show quoted text
> <URL: https://rt.cpan.org/Ticket/Display.html?id=129484 > > > 1.62 is officially out. I think at this stage Danga::Socket is "dead, but supported".
Thanks for the release!
Show quoted text
> Please report the IO::KQueue issue independently. If you > provide a patch, please include a test which fails before the > change and succeeds after it. I have FreeBSD so I can validate > the patch but I'm not a FreeBSD developer so I only can use > your code.
Already reported years ago, but IO::KQueue is dead: https://rt.cpan.org/Public/Bug/Display.html?id=116615
Show quoted text
> You can either do the patch or submit a GitHub PR if it's > easier. > > Note that until that GitHub repo becomes official - I'd > probably add it to the metadata in 1.63 - use RT as the > tracker.
I am happy to only use email and RT (via email). I will not use a proprietary communications for open source development and will never have a social media presence of any kind. Thanks.


This service runs on Request Tracker, is sponsored by The Perl Foundation, and maintained by Best Practical Solutions.

Please report any issues with rt.cpan.org to rt-cpan-admin@bestpractical.com.