Hi folks I successfully updated our libevent integration in Open MPI, but have encountered a problem with one use-case that used to work and now doesn't. Before proceeding to devise a fix, I just wanted to confirm that I accurately understand the issue.
The problem arises from this scenario: 1. we receive a command via a message that we receive in a file descriptor event. We "push" the command message into a timer event (duration zero time) to help break a threading issue, and then return from the file descriptor event. 2. the event library is called with LOOP_ONCE, causing the timer event to fire. 3. from within the timer event, the command causes us to execute a procedure that results in us having to wait for another event to occur. We "block" in that position, running a loop that includes a call to progress the event library (i.e., a call to event_loop(LOOP_ONCE)). This last step used to work just fine, yet now yields the following warning: warn] event_base_loop: reentrant invocation. Only one event_base_loop can run on each event_base at once.: Resource temporarily unavailable and no progression of the event library occurs. I can see a few ways around this problem, but all involve considerable code rewrite. Before I do so, I just wanted to confirm my understanding that this behavior changed (i.e., recursion is no longer allowed), and see if any alternative approaches to revising such codes are recommended. Thanks Ralph *********************************************************************** To unsubscribe, send an e-mail to majord...@freehaven.net with unsubscribe libevent-users in the body.