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] |