]> git.ipfire.org Git - thirdparty/freeradius-server.git/commitdiff
adde log level to worker
authorAlan T. DeKok <aland@freeradius.org>
Sat, 12 Aug 2017 06:54:46 +0000 (08:54 +0200)
committerAlan T. DeKok <aland@freeradius.org>
Sat, 12 Aug 2017 08:38:29 +0000 (10:38 +0200)
src/lib/io/schedule.c
src/lib/io/worker.c
src/lib/io/worker.h
src/tests/util/radius1_test.c
src/tests/util/worker_test.c

index 4b4989c2f69dc65ca305b02ba0551f512c3587b0..a51525d569e5980a236553b88467e4842dba53c2 100644 (file)
@@ -128,8 +128,6 @@ struct fr_schedule_t {
        fr_schedule_thread_instantiate_t        worker_thread_instantiate;      //!< thread instantiation callback
        void                                    *worker_instantiate_ctx;        //!< thread instantiation context
 
-       uint32_t        worker_flags;           //!< for debugging the worker
-
        fr_dlist_t      workers;                //!< list of workers
 
        fr_network_t    *single_network;        //!< for single-threaded mode
@@ -161,7 +159,7 @@ static void *fr_schedule_worker_thread(void *arg)
                goto fail;
        }
 
-       sw->worker = fr_worker_create(sw, el, sc->log, sc->worker_flags);
+       sw->worker = fr_worker_create(sw, el, sc->log, sc->lvl);
        if (!sw->worker) {
                fr_log(sc->log, L_ERR, "Worker %d - Failed creating worker: %s", sw->id, fr_strerror());
                goto fail;
@@ -373,7 +371,7 @@ fr_schedule_t *fr_schedule_create(TALLOC_CTX *ctx, fr_event_list_t *el,
                        return NULL;
                }
 
-               sc->single_worker = fr_worker_create(sc, el, sc->log, sc->worker_flags);
+               sc->single_worker = fr_worker_create(sc, el, sc->log, sc->lvl);
                if (!sc->single_worker) {
                        fr_log(sc->log, L_ERR, "Failed creating worker: %s", fr_strerror());
                        talloc_free(sc);
index bfd8f5b0053e2e9478c79dffb2cf25b32289c9cc..94e421caf875ee0cb4ffb373bd5f3fdaf6b151da 100644 (file)
@@ -87,11 +87,10 @@ static void fr_worker_verify(fr_worker_t *worker);
 struct fr_worker_t {
        char const              *name;          //!< name of this worker
 
-       uint32_t                flags;          //!< various debugging options, etc.
-
        int                     kq;             //!< my kq
 
        fr_log_t const          *log;           //!< log destination
+       fr_log_lvl_t            lvl;            //!< log level
 
        fr_atomic_queue_t       *aq_control;    //!< atomic queue for control messages sent to me
 
@@ -1134,12 +1133,12 @@ void fr_worker_destroy(fr_worker_t *worker)
  * @param[in] ctx the talloc context
  * @param[in] el the event list
  * @param[in] logger the destination for all logging messages
- * @param[in] flags debug flags
+ * @param[in] lvl log level
  * @return
  *     - NULL on error
  *     - fr_worker_t on success
  */
-fr_worker_t *fr_worker_create(TALLOC_CTX *ctx, fr_event_list_t *el, fr_log_t const *logger, uint32_t flags)
+fr_worker_t *fr_worker_create(TALLOC_CTX *ctx, fr_event_list_t *el, fr_log_t const *logger, fr_log_lvl_t lvl)
 {
        int max_channels = 64;
        fr_worker_t *worker;
@@ -1152,7 +1151,6 @@ nomem:
        }
 
        worker->name = "";
-       worker->flags = flags;
 
        worker->channel = talloc_zero_array(worker, fr_channel_t *, max_channels);
        if (!worker->channel) {
@@ -1162,6 +1160,7 @@ nomem:
 
        worker->el = el;
        worker->log = logger;
+       worker->lvl = lvl;
 
        /*
         *      @todo make these configurable
index 5e2b6882060be714e7236e359e30afb2ddf89ee1..ca7172be9828ae574fcffc3344b94034a83d5e3b 100644 (file)
@@ -44,7 +44,7 @@ extern "C" {
  */
 typedef struct fr_worker_t fr_worker_t;
 
-fr_worker_t *fr_worker_create(TALLOC_CTX *ctx, fr_event_list_t *el, fr_log_t const *logger, uint32_t flags) CC_HINT(nonnull(2,3));
+fr_worker_t *fr_worker_create(TALLOC_CTX *ctx, fr_event_list_t *el, fr_log_t const *logger, fr_log_lvl_t lvl) CC_HINT(nonnull(2,3));
 void fr_worker_destroy(fr_worker_t *worker) CC_HINT(nonnull);
 int fr_worker_kq(fr_worker_t *worker) CC_HINT(nonnull);
 fr_event_list_t *fr_worker_el(fr_worker_t *worker) CC_HINT(nonnull);
index ac2d2d7ef252f0ab3a0a029134bd2bc60bf94969..ab8cd3a679e986418c8ea549979484a171159571 100644 (file)
@@ -170,7 +170,7 @@ static void *worker_thread(void *arg)
                exit(1);
        }
 
-       worker = sw->worker = fr_worker_create(ctx, el, &default_log, ~0);
+       worker = sw->worker = fr_worker_create(ctx, el, &default_log, L_DBG_LVL_MAX);
        if (!worker) {
                fprintf(stderr, "radius_test: Failed to create the worker\n");
                exit(1);
index 99a7c1dadae5d16c1c24884380e72275634d254c..2b6e523ed25e5140cc3b103cab02313c87214eb7 100644 (file)
@@ -173,7 +173,7 @@ static void *worker_thread(void *arg)
                exit(1);
        }
 
-       worker = sw->worker = fr_worker_create(ctx, el, &default_log, ~0);
+       worker = sw->worker = fr_worker_create(ctx, el, &default_log, L_DBG_LVL_MAX);
        if (!worker) {
                fprintf(stderr, "worker_test: Failed to create the worker\n");
                exit(1);