handle EINTR and EAGAIN

Just do the call again instead of failing or logging an error.

Fixes #358
This commit is contained in:
Wim Taymans 2020-11-02 14:51:07 +01:00
parent 395a30b5d6
commit e094640c7b
8 changed files with 33 additions and 12 deletions

View file

@ -352,7 +352,9 @@ int pa_mainloop_poll(pa_mainloop *m)
if (do_iterate) {
pw_loop_enter(m->loop);
res = pw_loop_iterate(m->loop, timeout);
do {
res = pw_loop_iterate(m->loop, timeout);
} while (res == -EINTR || res == -EAGAIN);
pw_loop_leave(m->loop);
}