diff options
author | Koichi Sasada <ko1@atdot.net> | 2021-10-26 11:35:57 +0900 |
---|---|---|
committer | Koichi Sasada <ko1@atdot.net> | 2021-10-26 11:39:52 +0900 |
commit | 5c2b6441660cdabf1efc745c25f2b1a41bb3b087 (patch) | |
tree | d7de515167ab14467ceb193e143b8d19dda4831d /test/cgi/test_cgi_modruby.rb | |
parent | 7d4c59203ffe16a7409358f69a48768a9e6d0fb1 (diff) |
fix random EBADF problem
```ruby
r, w = IO.pipe
r.close
IO.for_fd(w.fileno).close
```
This code closes a file descriptor `w.fileno`, but `w` doesn't know
the closing. Another code can open same file descriptor with opening
file (`f`). After that, the `w` will GCed and `w.fileno` is closed
again, and `f.fileno` is closed too, so IO operations for `f` (`f.close`)
will cause EBADF.
To fix this issue, do this test in another process.
Diffstat (limited to 'test/cgi/test_cgi_modruby.rb')
0 files changed, 0 insertions, 0 deletions