Project

General

Profile

Actions

Feature #5945

open

Add the ability to mark a at_exit as process-local.

Added by robertgleeson (Robert Gleeson) over 9 years ago. Updated about 3 years ago.

Status:
Assigned
Priority:
Normal
Target version:
-
[ruby-core:42256]

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!.

Actions

Also available in: Atom PDF