Skip to content
Snippets Groups Projects
  • Nat Goodspeed's avatar
    ab7fb594
    Protect LLProcess destructor when run after APR shutdown. · ab7fb594
    Nat Goodspeed authored
    A static LLProcessPtr variable won't be destroyed until after procedural code
    has shut down APR. The trouble is that LLProcess's destructor unregisters
    itself from APR -- and, for an autokill LLProcess, attempts to kill the child
    process. All that is ill-advised after APR shutdown.
    Disable use of apr_pool_note_subprocess() mechanism. This should be another
    viable way of coping with static autokill LLProcessPtr variables: when the
    designated APR pool is cleaned up, APR promises to kill the child process. But
    whether it's an APR bug or a calling error, the present (now disabled) call in
    LLProcess results in OUR process, the viewer, getting SIGTERM when it asks to
    clean up the global APR pool.
    ab7fb594
    History
    Protect LLProcess destructor when run after APR shutdown.
    Nat Goodspeed authored
    A static LLProcessPtr variable won't be destroyed until after procedural code
    has shut down APR. The trouble is that LLProcess's destructor unregisters
    itself from APR -- and, for an autokill LLProcess, attempts to kill the child
    process. All that is ill-advised after APR shutdown.
    Disable use of apr_pool_note_subprocess() mechanism. This should be another
    viable way of coping with static autokill LLProcessPtr variables: when the
    designated APR pool is cleaned up, APR promises to kill the child process. But
    whether it's an APR bug or a calling error, the present (now disabled) call in
    LLProcess results in OUR process, the viewer, getting SIGTERM when it asks to
    clean up the global APR pool.
Code owners
Assign users and groups as approvers for specific file changes. Learn more.