Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Fix FD leaks #752

Merged
merged 1 commit into from
Oct 3, 2024
Merged

Fix FD leaks #752

merged 1 commit into from
Oct 3, 2024

Conversation

nobu
Copy link
Member

@nobu nobu commented Oct 3, 2024

PTY.spawn with a block detaches the spawned process and leaves it running in background even after exiting the given block. It is the responsibility of the caller to clean up the yielded IOs and PID.

https://github.com/ruby/ruby/actions/runs/11148759246/job/30986064044#step:13:950

Leaked file descriptor: Reline::Test#test_tty_amibuous_width: 9 : #<File:/dev/pts/0>
Leaked file descriptor: Reline::Test#test_tty_amibuous_width: 10 : #<File:/dev/pts/0>
Leaked file descriptor: Reline::Test#test_tty_amibuous_width: 11 : #<File:/dev/pts/1>
Leaked file descriptor: Reline::Test#test_tty_amibuous_width: 12 : #<File:/dev/pts/1>
Leaked file descriptor: Reline::Test#test_tty_amibuous_width: 13 : #<File:/dev/pts/2>
Leaked file descriptor: Reline::Test#test_tty_amibuous_width: 14 : #<File:/dev/pts/2>

`PTY.spawn` with a block detaches the spawned process and leaves it
running in background even after exiting the given block.  It is the
responsibility of the caller to clean up the yielded IOs and PID.

https://github.com/ruby/ruby/actions/runs/11148759246/job/30986064044#step:13:950
```
Leaked file descriptor: Reline::Test#test_tty_amibuous_width: 9 : #<File:/dev/pts/0>
Leaked file descriptor: Reline::Test#test_tty_amibuous_width: 10 : #<File:/dev/pts/0>
Leaked file descriptor: Reline::Test#test_tty_amibuous_width: 11 : #<File:/dev/pts/1>
Leaked file descriptor: Reline::Test#test_tty_amibuous_width: 12 : #<File:/dev/pts/1>
Leaked file descriptor: Reline::Test#test_tty_amibuous_width: 13 : #<File:/dev/pts/2>
Leaked file descriptor: Reline::Test#test_tty_amibuous_width: 14 : #<File:/dev/pts/2>
```
@tompng tompng merged commit f9f90da into ruby:master Oct 3, 2024
40 checks passed
matzbot pushed a commit to ruby/ruby that referenced this pull request Oct 3, 2024
`PTY.spawn` with a block detaches the spawned process and leaves it
running in background even after exiting the given block.  It is the
responsibility of the caller to clean up the yielded IOs and PID.

https://github.com/ruby/ruby/actions/runs/11148759246/job/30986064044#step:13:950
```
Leaked file descriptor: Reline::Test#test_tty_amibuous_width: 9 : #<File:/dev/pts/0>
Leaked file descriptor: Reline::Test#test_tty_amibuous_width: 10 : #<File:/dev/pts/0>
Leaked file descriptor: Reline::Test#test_tty_amibuous_width: 11 : #<File:/dev/pts/1>
Leaked file descriptor: Reline::Test#test_tty_amibuous_width: 12 : #<File:/dev/pts/1>
Leaked file descriptor: Reline::Test#test_tty_amibuous_width: 13 : #<File:/dev/pts/2>
Leaked file descriptor: Reline::Test#test_tty_amibuous_width: 14 : #<File:/dev/pts/2>
```

ruby/reline@f9f90da9e4
@nobu nobu deleted the fd-leak branch October 3, 2024 03:18
@ima1zumi ima1zumi added bug Something isn't working and removed bug Something isn't working labels Nov 8, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Development

Successfully merging this pull request may close these issues.

3 participants