[Date Prev][Date Next] [Chronological] [Thread] [Top]

change tracelevel programatically


I'm using slapd (version 2.2.6) with a custom backend. I've tried
to implement a feature to change the trace level triggered by some
events. I used the following piece of code to do this (found it
originally in log.c):

slap_debug = newTraceLevel;
lutil_set_debug_level( "slapd", slap_debug );
ber_set_option(NULL, LBER_OPT_DEBUG_LEVEL, &slap_debug);
ldap_set_option(NULL, LDAP_OPT_DEBUG_LEVEL, &slap_debug);
ldif_debug = slap_debug;

Although it works at the first glance, i get strange segfaults
later on mostly from `backend.c'. For example in:
    int backend_check_referrals( Operation *op, SlapReply *rs )
        when checking on `op->o_bd->be_chk_referrals'
    int backend_connection_destroy( Connection   *conn )
        when checking on `backends[i].be_connection_destroy'

The code to change trace level is called from the backend when an
operation is started. Does anybody know the appropriate way of 
change tracing programatically?
Thanks for the help in advance.


"Diszlexiás-e a gyerekem?" - 25 kérdéses gyorsteszt 
(hálás lesz utána, akármi is az eredmény!)