More detailed debugging for detail
authorAlan T. DeKok <aland@freeradius.org>
Sat, 3 Oct 2009 18:07:53 +0000 (20:07 +0200)
committerAlan T. DeKok <aland@freeradius.org>
Mon, 5 Oct 2009 15:13:30 +0000 (17:13 +0200)
src/modules/frs_detail/frs_detail.c

index 2fceae0..c8d7804 100644 (file)
@@ -54,6 +54,19 @@ typedef enum detail_state_t {
   STATE_REPLIED
 } detail_state_t;
 
+static FR_NAME_NUMBER state_names[] = {
+       { "unopened", STATE_UNOPENED },
+       { "unlocked", STATE_UNLOCKED },
+       { "header", STATE_HEADER },
+       { "reading", STATE_READING },
+       { "queued", STATE_QUEUED },
+       { "running", STATE_RUNNING },
+       { "no-reply", STATE_NO_REPLY },
+       { "replied", STATE_REPLIED },
+
+       { NULL, 0 }
+};
+
 typedef struct listen_detail_t {
        fr_event_t      *ev;    /* has to be first entry (ugh) */
        int             delay_time;
@@ -907,10 +920,22 @@ int detail_encode(rad_listen_t *this, UNUSED REQUEST *request)
                 */
                delay += (USEC * 3) / 4;
                delay += fr_rand() % (USEC / 2);
+
+               DEBUG2("Detail listener %s state %s signalled %d waiting %d.%06d sec",
+                      data->filename,
+                      fr_int2str(state_names, data->state, "?"), data->signal,
+                      (delay / USEC), delay % USEC);
+
                return delay;
        }
 
        data->signal = 0;
+       
+       DEBUG2("Detail listener %s state %s signalled %d waiting %d.%06d sec",
+              data->filename, fr_int2str(state_names, data->state, "?"),
+              data->signal,
+              data->delay_time / USEC,
+              data->delay_time % USEC);
 
        return data->delay_time;
 }