Feature #5945
openAdd the ability to mark a at_exit as process-local.
Description
I'd like to propose a enhancement to at_exit
.
It would be nice if you could stop a at_exit
handler from running in subprocesses.
You can do this manually with this code:
parent = Process.pid
at_exit do
if parent == Process.pid
# …
end
end
You can also do it by bypassing handlers:
at_exit do
# …
end
fork do
exit!
end
But it would be nice if I could do:
at_exit(false) do
# …
end
The first approach is kind of ugly, and the second approach isn't sustainable if code outside
your control can fork(…)
without calling exit!
.
Updated by mame (Yusuke Endoh) over 12 years ago
- Status changed from Open to Assigned
- Assignee set to matz (Yukihiro Matsumoto)
Matz, do you think this kind of feature is needed?
I guess you'll say, the argument should be a keyword option, at least.
at_exit(process_local: true) { ... }
--
Yusuke Endoh mame@tsg.ne.jp
Updated by kosaki (Motohiro KOSAKI) over 12 years ago
2012/3/30 mame (Yusuke Endoh) mame@tsg.ne.jp:
Issue #5945 has been updated by mame (Yusuke Endoh).
Status changed from Open to Assigned
Assignee set to matz (Yukihiro Matsumoto)Matz, do you think this kind of feature is needed?
I guess you'll say, the argument should be a keyword option, at least.at_exit(process_local: true) { ... }
I don't like this name. at_exit()
is always process local. He hope to
make no subprocess inheritance option.
Updated by mame (Yusuke Endoh) almost 12 years ago
- Target version changed from 1.9.3 to 2.6