aboutsummaryrefslogtreecommitdiff
path: root/src/or
diff options
context:
space:
mode:
authorMatt Traudt <sirmatt@ksu.edu>2017-12-11 09:32:47 -0500
committerMatt Traudt <sirmatt@ksu.edu>2017-12-11 09:43:09 -0500
commit667f9311776af65f7546a70c8ad5c27e0d23a02b (patch)
tree3b9cce840400b70c8bf34900347f3c34ff1bd830 /src/or
parent8797c8fbd34132f462be4a4544270ee1b8a071cf (diff)
downloadtor-667f9311776af65f7546a70c8ad5c27e0d23a02b.tar.gz
tor-667f9311776af65f7546a70c8ad5c27e0d23a02b.zip
Make get_scheduler_state_string available to scheduler*.c
Diffstat (limited to 'src/or')
-rw-r--r--src/or/scheduler.c36
-rw-r--r--src/or/scheduler.h1
-rw-r--r--src/or/scheduler_kist.c4
3 files changed, 21 insertions, 20 deletions
diff --git a/src/or/scheduler.c b/src/or/scheduler.c
index 1b6d160b84..09e8894a41 100644
--- a/src/or/scheduler.c
+++ b/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){
diff --git a/src/or/scheduler.h b/src/or/scheduler.h
index da212c50c5..ac405c21b7 100644
--- a/src/or/scheduler.h
+++ b/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) \
diff --git a/src/or/scheduler_kist.c b/src/or/scheduler_kist.c
index 5e0e8be45c..f3e6243a86 100644
--- a/src/or/scheduler_kist.c
+++ b/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;
}