mirror of
https://gitlab.freedesktop.org/pipewire/pipewire.git
synced 2025-11-02 09:01:50 -05:00
remote: do connection in the main loop
This commit is contained in:
parent
9869734250
commit
a16ea3b576
2 changed files with 11 additions and 5 deletions
|
|
@ -348,8 +348,11 @@ void pw_remote_add_listener(struct pw_remote *remote,
|
|||
spa_hook_list_append(&remote->listener_list, listener, events, data);
|
||||
}
|
||||
|
||||
static int do_connect(struct pw_remote *remote)
|
||||
static int
|
||||
do_connect(struct spa_loop *loop,
|
||||
bool async, uint32_t seq, const void *data, size_t size, void *user_data)
|
||||
{
|
||||
struct pw_remote *remote = user_data;
|
||||
struct remote *impl = SPA_CONTAINER_OF(remote, struct remote, this);
|
||||
struct pw_proxy dummy;
|
||||
int res;
|
||||
|
|
@ -413,8 +416,8 @@ static void done_connect(void *data, int result)
|
|||
spa_strerror(result));
|
||||
return;
|
||||
}
|
||||
|
||||
do_connect(remote);
|
||||
pw_loop_invoke(remote->core->main_loop,
|
||||
do_connect, 0, NULL, 0, false, remote);
|
||||
}
|
||||
|
||||
SPA_EXPORT
|
||||
|
|
@ -444,8 +447,10 @@ int pw_remote_connect_fd(struct pw_remote *remote, int fd)
|
|||
"connect_fd failed %s", spa_strerror(res));
|
||||
return res;
|
||||
}
|
||||
pw_loop_invoke(remote->core->main_loop,
|
||||
do_connect, 0, NULL, 0, false, remote);
|
||||
|
||||
return do_connect(remote);
|
||||
return remote->state == PW_REMOTE_STATE_ERROR ? -EIO : 0;
|
||||
}
|
||||
|
||||
SPA_EXPORT
|
||||
|
|
|
|||
|
|
@ -296,7 +296,8 @@ void pw_thread_loop_unlock(struct pw_thread_loop *loop)
|
|||
SPA_EXPORT
|
||||
void pw_thread_loop_signal(struct pw_thread_loop *loop, bool wait_for_accept)
|
||||
{
|
||||
pw_log_trace("thread-loop: %p, waiting %d", loop, loop->n_waiting);
|
||||
pw_log_trace("thread-loop: %p, waiting:%d accept:%d",
|
||||
loop, loop->n_waiting, wait_for_accept);
|
||||
if (loop->n_waiting > 0)
|
||||
pthread_cond_broadcast(&loop->cond);
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue