mirror of
https://gitlab.freedesktop.org/pulseaudio/pulseaudio.git
synced 2025-11-03 09:01:50 -05:00
try to use send(,,MSG_NOSIGNAL) instead of write() wherever possible (which
will allow us to drop the SIGPIPE check). Cache the results of the last write()/send() to make sure that we do not issue more than necessary system calls. git-svn-id: file:///home/lennart/svn/public/pulseaudio/trunk@1083 fefdeb5f-60dc-0310-8127-8f9354f1896f
This commit is contained in:
parent
350a253dc5
commit
860be2e70b
17 changed files with 100 additions and 58 deletions
|
|
@ -67,7 +67,7 @@ static void signal_handler(int sig) {
|
|||
#ifndef HAVE_SIGACTION
|
||||
signal(sig, signal_handler);
|
||||
#endif
|
||||
pa_write(signal_pipe[1], &sig, sizeof(sig));
|
||||
pa_write(signal_pipe[1], &sig, sizeof(sig), NULL);
|
||||
}
|
||||
|
||||
static void dispatch(pa_mainloop_api*a, int sig) {
|
||||
|
|
@ -86,7 +86,7 @@ static void callback(pa_mainloop_api*a, pa_io_event*e, int fd, pa_io_event_flags
|
|||
int sig;
|
||||
assert(a && e && f == PA_IO_EVENT_INPUT && e == io_event && fd == signal_pipe[0]);
|
||||
|
||||
if ((r = pa_read(signal_pipe[0], &sig, sizeof(sig))) < 0) {
|
||||
if ((r = pa_read(signal_pipe[0], &sig, sizeof(sig), NULL)) < 0) {
|
||||
if (errno == EAGAIN)
|
||||
return;
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue