| Date: | Fri, 24 Jul 2020 14:31:50 -0700 | 
|---|---|
| From: | noreply@xxxxxxxxxx | 
| Subject: | [DynInst_API:] [dyninst/dyninst] 6bd68f: Fix proccontrol hangs in test_thread_X (#780) | 
Branch: refs/heads/master Home: https://github.com/dyninst/dyninst Commit: 6bd68f38b6e0ad9e1c6dfc56e6700a9cdb41c9f9 https://github.com/dyninst/dyninst/commit/6bd68f38b6e0ad9e1c6dfc56e6700a9cdb41c9f9 Author: Tim Haines <thaines.astro@xxxxxxxxx> Date: 2020-07-24 (Fri, 24 Jul 2020) Changed paths: M dyninstAPI/src/pcEventMuxer.C M dyninstAPI/src/pcEventMuxer.h Log Message: ----------- Fix proccontrol hangs in test_thread_X (#780) * Use std::lock_guard throughout PCEventMailbox::enqueue * Check process state before enqueueing * Add more proccontrol logging in PCEventMailbox * Move broadcast to the end to reduce spurious wakeups * Only add events for valid processes PCEventMuxer::wait_internal * Handle errors for Process::handleEvents * Add logging for mailbox size check * Add more loggin in non-blocking path * Add logging for 'handle(NULL)' call * Log successful event completion * Remove unreachable code * Remove unused parameter * Use std::lock_guard PCEventMailbox::dequeue * add logging when returning empty event * Add sanity check for process pointer * add logging on sucessful event dequeue * Ignore post-exit events on invalid processes PCEventMailbox::find * Use standard check for element values This prevents accidental insertion of non-existent keys. * add logging * add sanity check for passed process PCEventMailbox * Change procCount to map PIDs instead of PCProcess* This prevents null pointer issues as well as pointer-reuse in some abnormal situations.  | 
| [← Prev in Thread] | Current Thread | [Next in Thread→] | 
|---|---|---|
  | ||
| Previous by Date: | [DynInst_API:] [dyninst/dyninst] d6a00f: proccontrol: Handle "ghost" threads (#742), noreply | 
|---|---|
| Next by Date: | [DynInst_API:] [dyninst/dyninst] 1ea00f: Remove Aggregate::setModule declaration (#779), noreply | 
| Previous by Thread: | [DynInst_API:] [dyninst/dyninst] 6ba740: Do not use non-trivial types in varargs (#704), Tim Haines | 
| Next by Thread: | [DynInst_API:] [dyninst/dyninst] 6cb653: Remove deprecated BPatch_snippet::getCost* (#832), noreply | 
| Indexes: | [Date] [Thread] |