proposes to robustize the SA attach mechanism to some extent. But there would still remain windows where threads would terminate before SA gets a chance to attach to them. To further reduce this window, we need to try to attach to the thread as soon as the thread gets discovered (instead of first adding it to a thread list, and later iterating through it to invoke ptrace attach). This would reduce the window where the thread can exit.
Moreover, we need to deal with windows where new threads are getting created and SA is not attaching to them. This could be an issue since this means that some threads could still be running while SA is attached to the process. For this, we need to go through multiple iterations of discovering new threads (to capture the new threads which might have gotten spawned in between discovery and actual attach). This technique of multiple iterations is followed in other debuggers like gdb. Though
was Linux specific, this would include the attach mechanism on various platforms.