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

Report information
The Basics
Id:
120903
Status:
new
Priority:
Low/Low
Queue:

People
Owner:
Nobody in particular
Requestors:
leonerd-cpan [...] leonerd.org.uk
Cc:
AdminCc:

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



Subject: termkey-level of teardown not performed after SIGINT exit
Hitting Ctrl-C to shut down a Tickit::Async program correctly stops the tickit-driver level of teardown (disabling altscreen, mouse, etc...) but does not do the termkey-level (termios ECHO, O_NONBLOCK). I suspect this is due to a refcount bug somewhere still holding the termkey instance open, or something like that. This should likely be rewritten to have an explicit ->shutdown method, rather than relying on refcount. -- Paul Evans
On Mon Apr 03 09:08:17 2017, PEVANS wrote:
Show quoted text
> Hitting Ctrl-C to shut down a Tickit::Async program correctly stops > the tickit-driver level of teardown (disabling altscreen, mouse, > etc...) but does not do the termkey-level (termios ECHO, O_NONBLOCK). > > I suspect this is due to a refcount bug somewhere still holding the > termkey instance open, or something like that. > > This should likely be rewritten to have an explicit ->shutdown method, > rather than relying on refcount.
Actually, the termkey instance *is* destroyed here. The actual bug is that IO::Async is setting the O_NONBLOCK flag and nothing exists to remove it again. This is an IO::Async issue; I shall move it. -- Paul Evans


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.