main: Add Windows Service support

I've added PIPE_EVENT_SHUTDOWN because calling g_main_loop_quit() do not work when called from another thread.
Main thread was sleeping in g_poll() so I needed some way to wake it up.

By some strange reason call close(event_pipe[0]) in event_pipe_deinit() hangs.
In current implementation that code never reached so that was not a problem :-)
I've added a conditional to leave event_pipe[0] open on Win32.
This commit is contained in:
Denis Krjuchkov
2010-09-20 18:28:08 -07:00
committed by Max Kellermann
parent 9fa3d7c4fa
commit e8ebb1af91
6 changed files with 229 additions and 1 deletions

View File

@@ -44,6 +44,9 @@ enum pipe_event {
/** a hardware mixer plugin has detected a change */
PIPE_EVENT_MIXER,
/** shutdown requested */
PIPE_EVENT_SHUTDOWN,
PIPE_EVENT_MAX
};