add new pa_pipe_close() API to close two fds at the same time

git-svn-id: file:///home/lennart/svn/public/pulseaudio/branches/lennart@1812 fefdeb5f-60dc-0310-8127-8f9354f1896f
This commit is contained in:
Lennart Poettering 2007-09-12 00:17:51 +00:00
parent 7f92542420
commit d9c4c9509d
8 changed files with 21 additions and 27 deletions

View file

@ -1323,3 +1323,16 @@ void *pa_will_need(const void *p, size_t l) {
return (void*) p;
}
void pa_close_pipe(int fds[2]) {
pa_assert(fds);
if (fds[0] >= 0)
pa_assert_se(pa_close(fds[0]) == 0);
if (fds[1] >= 0)
pa_assert_se(pa_close(fds[1]) == 0);
fds[0] = fds[1] = -1;
}

View file

@ -120,4 +120,6 @@ static inline unsigned pa_make_power_of_two(unsigned n) {
return n + 1;
}
void pa_close_pipe(int fds[2]);
#endif

View file

@ -67,8 +67,7 @@ pa_fdsem *pa_fdsem_new(void) {
void pa_fdsem_free(pa_fdsem *f) {
pa_assert(f);
pa_assert_se(pa_close(f->fds[0]) == 0);
pa_assert_se(pa_close(f->fds[1]) == 0);
pa_close_pipe(f->fds);
pa_xfree(f);
}