Branch: refs/heads/master
  Home:   https://github.com/dyninst/dyninst
  Commit: 6bd68f38b6e0ad9e1c6dfc56e6700a9cdb41c9f9
      
https://github.com/dyninst/dyninst/commit/6bd68f38b6e0ad9e1c6dfc56e6700a9cdb41c9f9
  Author: Tim Haines <thaines.as...@gmail.com>
  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.


_______________________________________________
Dyninst-api mailing list
Dyninst-api@cs.wisc.edu
https://lists.cs.wisc.edu/mailman/listinfo/dyninst-api

Reply via email to