loop: clarify the pw_main_loop_run returned value

This commit is contained in:
Tristan Cacqueray 2024-06-04 08:44:12 -04:00 committed by Tristan de Cacqueray
parent 05abc4e41f
commit ce985def73
3 changed files with 10 additions and 2 deletions

View file

@ -29,12 +29,14 @@ static void roundtrip(struct pw_core *core, struct pw_main_loop *loop)
struct roundtrip_data d = { .loop = loop }; struct roundtrip_data d = { .loop = loop };
struct spa_hook core_listener; struct spa_hook core_listener;
int err;
pw_core_add_listener(core, &core_listener, &core_events, &d); pw_core_add_listener(core, &core_listener, &core_events, &d);
d.pending = pw_core_sync(core, PW_ID_CORE, 0); d.pending = pw_core_sync(core, PW_ID_CORE, 0);
pw_main_loop_run(loop); if ((err = pw_main_loop_run(loop)) < 0)
printf("main_loop_run error:%d!\n", err);
spa_hook_remove(&core_listener); spa_hook_remove(&core_listener);
} }

View file

@ -135,5 +135,8 @@ int pw_main_loop_run(struct pw_main_loop *loop)
} }
} }
pw_loop_leave(loop->loop); pw_loop_leave(loop->loop);
if (res > 0) // This is the number of fds last polled, not useful for the caller.
res = 0;
return res; return res;
} }

View file

@ -49,7 +49,10 @@ struct pw_loop * pw_main_loop_get_loop(struct pw_main_loop *loop);
/** Destroy a loop */ /** Destroy a loop */
void pw_main_loop_destroy(struct pw_main_loop *loop); void pw_main_loop_destroy(struct pw_main_loop *loop);
/** Run a main loop. This blocks until \ref pw_main_loop_quit is called */ /** Run a main loop. This blocks until \ref pw_main_loop_quit is called.
*
* @return 0 on success, otherwise a negative number.
*/
int pw_main_loop_run(struct pw_main_loop *loop); int pw_main_loop_run(struct pw_main_loop *loop);
/** Quit a main loop */ /** Quit a main loop */