mirror of
https://gitlab.freedesktop.org/pipewire/pipewire.git
synced 2025-10-29 05:40:27 -04:00
Revert "loop: don't call the hooks around blocking wait"
This reverts commit 09fafdfc01.
This commit is contained in:
parent
09fafdfc01
commit
8c202a8307
2 changed files with 6 additions and 5 deletions
|
|
@ -109,11 +109,8 @@ struct spa_loop_methods {
|
|||
* an object that has identity.
|
||||
* \param size The size of data to copy.
|
||||
* \param block If \true, do not return until func has been called. Otherwise,
|
||||
* returns immediately. Passing \true can cause a deadlock when
|
||||
* the calling thread is holding the loop context lock. A blocking
|
||||
* invoke should never be done from a realtime thread. Also beware
|
||||
* of blocking invokes between 2 threads as you can easily end up
|
||||
* in a deadly embrace.
|
||||
* returns immediately. Passing \true does not risk a deadlock because
|
||||
* the data thread is never allowed to wait on any other thread.
|
||||
* \param user_data An opaque pointer passed to func.
|
||||
* \return `-EPIPE` if the internal ring buffer filled up,
|
||||
* if block is \false, 0 if seq was SPA_ID_INVALID or
|
||||
|
|
|
|||
|
|
@ -365,10 +365,14 @@ retry:
|
|||
if (block && queue->ack_fd != -1) {
|
||||
uint64_t count = 1;
|
||||
|
||||
spa_loop_control_hook_before(&impl->hooks_list);
|
||||
|
||||
if ((res = spa_system_eventfd_read(impl->system, queue->ack_fd, &count)) < 0)
|
||||
spa_log_warn(impl->log, "%p: failed to read event fd:%d: %s",
|
||||
queue, queue->ack_fd, spa_strerror(res));
|
||||
|
||||
spa_loop_control_hook_after(&impl->hooks_list);
|
||||
|
||||
res = item->res;
|
||||
}
|
||||
else {
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue