[DynInst_API:] [dyninst/dyninst] d6a00f: proccontrol: Handle "ghost" threads (#742)


Date: Fri, 24 Jul 2020 14:15:54 -0700
From: noreply@xxxxxxxxxx
Subject: [DynInst_API:] [dyninst/dyninst] d6a00f: proccontrol: Handle "ghost" threads (#742)
  Branch: refs/heads/master
  Home:   https://github.com/dyninst/dyninst
  Commit: d6a00fa75f98dfb853a9efd8887ee014ff091e10
      https://github.com/dyninst/dyninst/commit/d6a00fa75f98dfb853a9efd8887ee014ff091e10
  Author: Tim Haines <thaines.astro@xxxxxxxxx>
  Date:   2020-07-24 (Fri, 24 Jul 2020)

  Changed paths:
    M proccontrol/src/handler.C
    M proccontrol/src/int_process.h
    M proccontrol/src/int_thread_db.C
    M proccontrol/src/linux.C
    M proccontrol/src/linux.h
    M proccontrol/src/process.C

  Log Message:
  -----------
  proccontrol: Handle "ghost" threads (#742)

A "ghost" thread is one which has encountered an error when continuing
from a SIGSTOP. This can come about from the process being exited before
the SIGSTOP is handled.

See https://github.com/dyninst/dyninst/issues/741 for details.

* Set process when handling ghost threads
* Allow for already-destroyed threads in HandleThreadDestroy::handleEvent
    This can happen when handling ghost threads.
* Allow for already-destroyed threads in HandleThreadCleanup::handleEvent.
    This can happen when handling ghost threads.
* Allow already-destroyed threads in ThreadDBDestroyHandler::handleEvent
    This can happen when handling ghost threads.
* Handle destroyed thread in linux_process::plat_adjustSyncType
    This can happen when handling ghost threads.
* Do not create a destroy event for the thread executed from 'main'


[← Prev in Thread] Current Thread [Next in Thread→]
  • [DynInst_API:] [dyninst/dyninst] d6a00f: proccontrol: Handle "ghost" threads (#742), noreply <=