diff --git a/src/or/cpuworker.c b/src/or/cpuworker.c index 119398aa06..7a5a046b27 100644 --- a/src/or/cpuworker.c +++ b/src/or/cpuworker.c @@ -358,6 +358,10 @@ static void process_pending_task(connection_t *cpuworker) { #define CPUWORKER_BUSY_TIMEOUT 100 /* seconds */ +/** We have a bug that I can't find. Sometimes, very rarely, cpuworkers + * get stuck in the 'busy' state, even though the cpuworker process + * thinks of itself as idle. I don't know why. But here's a workaround + * to kill any cpuworker that's been busy for more than 100 seconds. */ static void cull_wedged_cpuworkers(void) { connection_t **carray;