Make Windows process event timer API available for dormant interface.

This patch changes the API of the Windows backend of the Process
subsystem to allow the dormant interface to disable the Process event
timer.

See: https://bugs.torproject.org/28179
This commit is contained in:
Alexander Færøy 2018-12-13 00:52:39 +01:00 committed by Nick Mathewson
parent a33a77d9cd
commit fab22509d7
2 changed files with 8 additions and 7 deletions

View File

@ -429,7 +429,7 @@ process_win32_trigger_completion_callbacks(void)
/** Start the periodic timer which is reponsible for checking whether processes /** Start the periodic timer which is reponsible for checking whether processes
* are still alive and to make sure that the Tor process is periodically being * are still alive and to make sure that the Tor process is periodically being
* moved into an alertable state. */ * moved into an alertable state. */
STATIC void void
process_win32_timer_start(void) process_win32_timer_start(void)
{ {
/* Make sure we never start our timer if it's already running. */ /* Make sure we never start our timer if it's already running. */
@ -447,7 +447,7 @@ process_win32_timer_start(void)
} }
/** Stops the periodic timer. */ /** Stops the periodic timer. */
STATIC void void
process_win32_timer_stop(void) process_win32_timer_stop(void)
{ {
if (BUG(periodic_timer == NULL)) if (BUG(periodic_timer == NULL))
@ -458,7 +458,7 @@ process_win32_timer_stop(void)
} }
/** Returns true iff the periodic timer is running. */ /** Returns true iff the periodic timer is running. */
STATIC bool bool
process_win32_timer_running(void) process_win32_timer_running(void)
{ {
return periodic_timer != NULL; return periodic_timer != NULL;

View File

@ -43,11 +43,12 @@ int process_win32_read_stderr(struct process_t *process, buf_t *buffer);
void process_win32_trigger_completion_callbacks(void); void process_win32_trigger_completion_callbacks(void);
#ifdef PROCESS_WIN32_PRIVATE
/* Timer handling. */ /* Timer handling. */
STATIC void process_win32_timer_start(void); void process_win32_timer_start(void);
STATIC void process_win32_timer_stop(void); void process_win32_timer_stop(void);
STATIC bool process_win32_timer_running(void); bool process_win32_timer_running(void);
#ifdef PROCESS_WIN32_PRIVATE
STATIC void process_win32_timer_callback(periodic_timer_t *, void *); STATIC void process_win32_timer_callback(periodic_timer_t *, void *);
STATIC bool process_win32_timer_test_process(process_t *); STATIC bool process_win32_timer_test_process(process_t *);