Skip to content

invoke 2.0.0 fails to properly cleanup timer on runner #910

@puerkito66

Description

@puerkito66

Following the commit history looks like 87d3370 is the root cause of fabric/fabric#2241

Local runner is not calling their parent stop() but it's calling it's propper stop() method, thus making the timer thread is never cancelled.

According to this commnet calling the parent stop() should solve this problem.

invoke/invoke/runners.py

Lines 1330 to 1340 in 7184e16

def stop(self):
# If we opened a PTY for child communications, make sure to close() it,
# otherwise long-running Invoke-using processes exhaust their file
# descriptors eventually.
if self.using_pty:
try:
os.close(self.parent_fd)
except Exception:
# If something weird happened preventing the close, there's
# nothing to be done about it now...
pass

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions