event_pipe: added event_pipe_emit_fast()
event_pipe_emit_fast() is aimed for use in signal handlers: it doesn't lock the mutex, and doesn't log on error. That makes it potentially lossy, but for its intended use, that does not matter.
This commit is contained in:
@@ -137,6 +137,14 @@ void event_pipe_emit(enum pipe_event event)
|
||||
g_error("error writing to pipe: %s", strerror(errno));
|
||||
}
|
||||
|
||||
void event_pipe_emit_fast(enum pipe_event event)
|
||||
{
|
||||
assert((unsigned)event < PIPE_EVENT_MAX);
|
||||
|
||||
pipe_events[event] = true;
|
||||
write(event_pipe[1], "", 1);
|
||||
}
|
||||
|
||||
void event_pipe_signal(void)
|
||||
{
|
||||
event_pipe_emit(PIPE_EVENT_SIGNAL);
|
||||
|
||||
Reference in New Issue
Block a user