Skip Menu |

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

Report information
The Basics
Id: 129484
Status: resolved
Priority: 0/
Queue: Danga-Socket

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

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



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.