From 21c8041a40dc23856789735e1cd65ae189731132 Mon Sep 17 00:00:00 2001 From: Ralph Castain Date: Thu, 4 Jul 2013 04:41:04 +0000 Subject: [PATCH] Update libevent 2021 component so it also only warns once when detecting reentrant behavior This commit was SVN r28721. --- opal/mca/event/libevent2021/libevent/event.c | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/opal/mca/event/libevent2021/libevent/event.c b/opal/mca/event/libevent2021/libevent/event.c index e45b6119d1..1171c81cdb 100644 --- a/opal/mca/event/libevent2021/libevent/event.c +++ b/opal/mca/event/libevent2021/libevent/event.c @@ -1550,6 +1550,10 @@ event_loop(int flags) return event_base_loop(current_base, flags); } +/********* OMPI CHANGE **********/ +static int warn_once = 0; +/*********/ + int event_base_loop(struct event_base *base, int flags) { @@ -1562,10 +1566,13 @@ event_base_loop(struct event_base *base, int flags) * as we invoke user callbacks. */ EVBASE_ACQUIRE_LOCK(base, th_base_lock); - if (base->running_loop) { + if (base->running_loop && 0 == warn_once) { event_warnx("%s: reentrant invocation. Only one event_base_loop" " can run on each event_base at once.", __func__); - EVBASE_RELEASE_LOCK(base, th_base_lock); + /********* OMPI CHANGE **********/ + warn_once = 1; + /*********/ + EVBASE_RELEASE_LOCK(base, th_base_lock); return -1; }