Browse Source

Make get_scheduler_state_string available to scheduler*.c

Matt Traudt 6 years ago
parent
commit
667f931177
3 changed files with 21 additions and 20 deletions
  1. 18 18
      src/or/scheduler.c
  2. 1 0
      src/or/scheduler.h
  3. 2 2
      src/or/scheduler_kist.c

+ 18 - 18
src/or/scheduler.c

@@ -198,24 +198,6 @@ get_scheduler_type_string(scheduler_types_t type)
   }
 }
 
-/** Returns human readable string for the given channel scheduler state. */
-static const char *
-get_scheduler_state_string(int scheduler_state)
-{
-  switch (scheduler_state) {
-  case SCHED_CHAN_IDLE:
-    return "IDLE";
-  case SCHED_CHAN_WAITING_FOR_CELLS:
-    return "WAITING_FOR_CELLS";
-  case SCHED_CHAN_WAITING_TO_WRITE:
-    return "WAITING_TO_WRITE";
-  case SCHED_CHAN_PENDING:
-    return "PENDING";
-  default:
-    return "(invalid)";
-  }
-}
-
 /**
  * Scheduler event callback; this should get triggered once per event loop
  * if any scheduling work was created during the event loop.
@@ -380,6 +362,24 @@ set_scheduler(void)
  * Functions that can only be accessed from scheduler*.c
  *****************************************************************************/
 
+/** Returns human readable string for the given channel scheduler state. */
+const char *
+get_scheduler_state_string(int scheduler_state)
+{
+  switch (scheduler_state) {
+  case SCHED_CHAN_IDLE:
+    return "IDLE";
+  case SCHED_CHAN_WAITING_FOR_CELLS:
+    return "WAITING_FOR_CELLS";
+  case SCHED_CHAN_WAITING_TO_WRITE:
+    return "WAITING_TO_WRITE";
+  case SCHED_CHAN_PENDING:
+    return "PENDING";
+  default:
+    return "(invalid)";
+  }
+}
+
 /** Helper that logs channel scheduler_state changes. Use this instead of
  * setting scheduler_state directly. */
 void scheduler_set_channel_state(channel_t *chan, int new_state){

+ 1 - 0
src/or/scheduler.h

@@ -145,6 +145,7 @@ MOCK_DECL(void, scheduler_channel_has_waiting_cells, (channel_t *chan));
  *********************************/
 
 void scheduler_set_channel_state(channel_t *chan, int new_state);
+const char *get_scheduler_state_string(int scheduler_state);
 
 /* Triggers a BUG() and extra information with chan if available. */
 #define SCHED_BUG(cond, chan) \

+ 2 - 2
src/or/scheduler_kist.c

@@ -627,11 +627,11 @@ kist_scheduler_run(void)
         log_debug(LD_SCHED,
                  "We didn't flush anything on a chan that we think "
                  "can write and wants to write. The channel's state is '%s' "
-                 "and in scheduler state %d. We're going to mark it as "
+                 "and in scheduler state '%s'. We're going to mark it as "
                  "waiting_for_cells (as that's most likely the issue) and "
                  "stop scheduling it this round.",
                  channel_state_to_string(chan->state),
-                 chan->scheduler_state);
+                 get_scheduler_state_string(chan->scheduler_state));
         scheduler_set_channel_state(chan, SCHED_CHAN_WAITING_FOR_CELLS);
         continue;
       }