Pretty trivial change, IMHO... --- a/opal/event/libevent/log-internal.h Wed Oct 13 07:34:24 2010 -0500 +++ b/opal/event/libevent/log-internal.h Thu Oct 14 09:00:04 2010 -0600 @@ -29,6 +29,8 @@ #include <event2/util.h> +#include <stdbool.h> + #ifdef __GNUC__ #define EV_CHECK_FMT(a,b) __attribute__((format(printf, a, b))) #define EV_NORETURN __attribute__((noreturn)) @@ -48,7 +50,7 @@ void event_msgx(const char *fmt, ...) EV_CHECK_FMT(1,2); void _event_debugx(const char *fmt, ...) EV_CHECK_FMT(1,2); -#ifdef USE_DEBUG +#ifndef _EVENT_DISABLE_DEBUG_MODE #define event_debug(x) _event_debugx x #else #define event_debug(x) do {;} while (0) @@ -56,4 +58,6 @@ #undef EV_CHECK_FMT +extern bool event_enable_debug_output; + #endif
--- a/opal/event/libevent/log.c Wed Oct 13 07:34:24 2010 -0500 +++ b/opal/event/libevent/log.c Thu Oct 14 09:00:04 2010 -0600 @@ -63,6 +63,8 @@ static event_fatal_cb fatal_fn = NULL; +bool event_enable_debug_output = false; + void event_set_fatal_callback(event_fatal_cb cb) { @@ -161,6 +163,10 @@ { va_list ap; + if (!event_enable_debug_output) { + return; + } + va_start(ap, fmt); _warn_helper(_EVENT_LOG_DEBUG, NULL, fmt, ap); va_end(ap); I then created OMPI API to set the debug output flag - imagine you would need to do something similar in libevent itself. HTH Ralph On Oct 12, 2010, at 9:53 AM, Nick Mathewson wrote: > On Tue, Oct 12, 2010 at 11:50 AM, Ralph Castain <r...@open-mpi.org> wrote: >> >> On Oct 12, 2010, at 8:59 AM, Nick Mathewson wrote: >> >>> On Tue, Oct 12, 2010 at 10:55 AM, Ralph Castain <r...@open-mpi.org> wrote: >>>> Hi folks >>>> >>>> I apologize for the ignorance - I'm sure this is something simple that I'm >>>> overlooking. >>>> >>>> I built libevent 2.0.7rc with the default configuration, so I did -not- >>>> specify --disable-debug. It is my understanding that the debug code is >>>> therefore built. I have confirmed that this is the case. >>>> >>>> I then have my code call event_enable_debug_mode prior to calling >>>> event_init. However, I never get any debug output sent to my screen, even >>>> though I confirmed that I am calling event_assign, event_add, and other >>>> libevent functions. >>>> >>>> Any suggestions on what I'm doing wrong? >>>> Ralph >>> >>> There are two debugging features here: event debugging mode, and the >>> verbose debug logs you're talking about. Debug mode is a feature for >>> debugging your program; it turns on checks for incorrect uses of >>> events. To get debugging output sent to stdout, rebuild with >>> "-DUSE_DEBUG" in the CPPFLAGS. >> >> Ouch - ick. It comes out all the time now. >> >> I gather that you only have a compile-time flag to toggle this output? I was >> hoping for a run-time option. Otherwise, we have to rebuild the system every >> time we want to debug something, which is an annoyance. > > I'm afraid there isn't a run-time option for this. If somebody wants > to submit a patch to write one, and you can do it efficiently, I'd be > glad to take it in the 2.1 series. > > For now, could you build two copies of libevent -- one with debugging > logs and one without -- and use LD_PRELOAD (or another appropriate > linker option, depending on your platform) to switch in the debugging > one when you want to use it? It's not beautiful, but it should work > out okay for most applications. > > -- > Nick > *********************************************************************** > To unsubscribe, send an e-mail to majord...@freehaven.net with > unsubscribe libevent-users in the body. *********************************************************************** To unsubscribe, send an e-mail to majord...@freehaven.net with unsubscribe libevent-users in the body.