Commit f518e3e8 authored by Richard Levitte's avatar Richard Levitte
Browse files

Adapt ENGINE_REF_COUNT_DEBUG to the new generic trace API

parent f272be67
Loading
Loading
Loading
Loading
+13 −20
Original line number Diff line number Diff line
@@ -20,28 +20,21 @@
extern CRYPTO_RWLOCK *global_engine_lock;

/*
 * If we compile with this symbol defined, then both reference counts in the
 * ENGINE structure will be monitored with a line of output on stderr for
 * each change. This prints the engine's pointer address (truncated to
 * unsigned int), "struct" or "funct" to indicate the reference type, the
 * before and after reference count, and the file:line-number pair. The
 * "engine_ref_debug" statements must come *after* the change.
 * This prints the engine's pointer address (truncated to unsigned int),
 * "struct" or "funct" to indicate the reference type, the before and after
 * reference count, and the file:line-number pair. The "engine_ref_debug"
 * statements must come *after* the change.
 */
# ifdef ENGINE_REF_COUNT_DEBUG

# define engine_ref_debug(e, isfunct, diff)                             \
        fprintf(stderr, "engine: %08x %s from %d to %d (%s:%d)\n", \
                (unsigned int)(e), (isfunct ? "funct" : "struct"), \
                ((isfunct) ? ((e)->funct_ref - (diff)) : ((e)->struct_ref - (diff))), \
    OSSL_TRACE6(ENGINE_REF_COUNT,                                       \
               "engine: %p %s from %d to %d (%s:%d)\n",               \
               (void *)(e), (isfunct ? "funct" : "struct"),             \
               ((isfunct)                                               \
                ? ((e)->funct_ref - (diff))                             \
                : ((e)->struct_ref - (diff))),                          \
               ((isfunct) ? (e)->funct_ref : (e)->struct_ref),          \
               (OPENSSL_FILE), (OPENSSL_LINE))

# else

#  define engine_ref_debug(e, isfunct, diff)

# endif

/*
 * Any code that will need cleanup operations should use these functions to
 * register callbacks. engine_cleanup_int() will call all registered
+1 −0
Original line number Diff line number Diff line
@@ -125,6 +125,7 @@ static const struct trace_category_st trace_categories[] = {
    TRACE_CATEGORY_(TLS_CIPHER),
    TRACE_CATEGORY_(ENGINE_CONF),
    TRACE_CATEGORY_(ENGINE_TABLE),
    TRACE_CATEGORY_(ENGINE_REF_COUNT),
};

const char *OSSL_trace_get_category_name(int num)
+2 −1
Original line number Diff line number Diff line
@@ -38,7 +38,8 @@ extern "C" {
# define OSSL_TRACE_CATEGORY_TLS_CIPHER          3
# define OSSL_TRACE_CATEGORY_ENGINE_CONF         4
# define OSSL_TRACE_CATEGORY_ENGINE_TABLE        5
# define OSSL_TRACE_CATEGORY_NUM                 6
# define OSSL_TRACE_CATEGORY_ENGINE_REF_COUNT    6
# define OSSL_TRACE_CATEGORY_NUM                 7

/* Returns the trace category number for the given |name| */
int OSSL_trace_get_category_num(const char *name);