[commands] Rename commands_cmdloop_break to commands_base_destroy and
free commands_base after breaking the libevent loop
This commit is contained in:
parent
5258ee712c
commit
32ac6c2ea9
|
@ -1658,8 +1658,8 @@ cache_deinit(void)
|
||||||
if (!g_initialized)
|
if (!g_initialized)
|
||||||
return;
|
return;
|
||||||
|
|
||||||
commands_cmdloop_exit(cmdbase);
|
|
||||||
g_initialized = 0;
|
g_initialized = 0;
|
||||||
|
commands_base_destroy(cmdbase);
|
||||||
|
|
||||||
ret = pthread_join(tid_cache, NULL);
|
ret = pthread_join(tid_cache, NULL);
|
||||||
if (ret != 0)
|
if (ret != 0)
|
||||||
|
@ -1670,7 +1670,4 @@ cache_deinit(void)
|
||||||
|
|
||||||
// Free event base (should free events too)
|
// Free event base (should free events too)
|
||||||
event_base_free(evbase_cache);
|
event_base_free(evbase_cache);
|
||||||
|
|
||||||
// Close pipes and free command base
|
|
||||||
commands_base_free(cmdbase);
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -379,8 +379,9 @@ cmdloop_exit(void *arg, int *retval)
|
||||||
}
|
}
|
||||||
|
|
||||||
void
|
void
|
||||||
commands_cmdloop_exit(struct commands_base *cmdbase)
|
commands_base_destroy(struct commands_base *cmdbase)
|
||||||
{
|
{
|
||||||
commands_exec_sync(cmdbase, cmdloop_exit, NULL, cmdbase);
|
commands_exec_sync(cmdbase, cmdloop_exit, NULL, cmdbase);
|
||||||
|
commands_base_free(cmdbase);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -64,6 +64,6 @@ int
|
||||||
commands_exec_async(struct commands_base *cmdbase, command_function func, void *arg);
|
commands_exec_async(struct commands_base *cmdbase, command_function func, void *arg);
|
||||||
|
|
||||||
void
|
void
|
||||||
commands_cmdloop_exit(struct commands_base *cmdbase);
|
commands_base_destroy(struct commands_base *cmdbase);
|
||||||
|
|
||||||
#endif /* SRC_COMMANDS_H_ */
|
#endif /* SRC_COMMANDS_H_ */
|
||||||
|
|
|
@ -2032,8 +2032,8 @@ filescanner_deinit(void)
|
||||||
{
|
{
|
||||||
int ret;
|
int ret;
|
||||||
|
|
||||||
commands_cmdloop_exit(cmdbase);
|
|
||||||
scan_exit = 1;
|
scan_exit = 1;
|
||||||
|
commands_base_destroy(cmdbase);
|
||||||
|
|
||||||
ret = pthread_join(tid_scan, NULL);
|
ret = pthread_join(tid_scan, NULL);
|
||||||
if (ret != 0)
|
if (ret != 0)
|
||||||
|
@ -2046,5 +2046,4 @@ filescanner_deinit(void)
|
||||||
inofd_event_unset();
|
inofd_event_unset();
|
||||||
|
|
||||||
event_base_free(evbase_scan);
|
event_base_free(evbase_scan);
|
||||||
commands_base_free(cmdbase);
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -4782,7 +4782,7 @@ void mpd_deinit(void)
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
commands_cmdloop_exit(cmdbase);
|
commands_base_destroy(cmdbase);
|
||||||
|
|
||||||
ret = pthread_join(tid_mpd, NULL);
|
ret = pthread_join(tid_mpd, NULL);
|
||||||
if (ret != 0)
|
if (ret != 0)
|
||||||
|
@ -4808,7 +4808,4 @@ void mpd_deinit(void)
|
||||||
|
|
||||||
// Free event base (should free events too)
|
// Free event base (should free events too)
|
||||||
event_base_free(evbase_mpd);
|
event_base_free(evbase_mpd);
|
||||||
|
|
||||||
// Close pipes and free command base
|
|
||||||
commands_base_free(cmdbase);
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -4123,8 +4123,8 @@ player_deinit(void)
|
||||||
{
|
{
|
||||||
int ret;
|
int ret;
|
||||||
|
|
||||||
commands_cmdloop_exit(cmdbase);
|
|
||||||
player_exit = 1;
|
player_exit = 1;
|
||||||
|
commands_base_destroy(cmdbase);
|
||||||
|
|
||||||
ret = pthread_join(tid_player, NULL);
|
ret = pthread_join(tid_player, NULL);
|
||||||
if (ret != 0)
|
if (ret != 0)
|
||||||
|
@ -4149,6 +4149,4 @@ player_deinit(void)
|
||||||
outputs_deinit();
|
outputs_deinit();
|
||||||
|
|
||||||
event_base_free(evbase_player);
|
event_base_free(evbase_player);
|
||||||
|
|
||||||
commands_base_free(cmdbase);
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -1606,6 +1606,7 @@ exit_cb()
|
||||||
{
|
{
|
||||||
fptr_sp_session_player_unload(g_sess);
|
fptr_sp_session_player_unload(g_sess);
|
||||||
fptr_sp_session_logout(g_sess);
|
fptr_sp_session_logout(g_sess);
|
||||||
|
g_state = SPOTIFY_STATE_INACTIVE;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Process events when timeout expires or triggered by libspotify's notify_main_thread */
|
/* Process events when timeout expires or triggered by libspotify's notify_main_thread */
|
||||||
|
@ -2086,7 +2087,7 @@ spotify_deinit(void)
|
||||||
/* Send exit signal to thread (if active) */
|
/* Send exit signal to thread (if active) */
|
||||||
if (g_state != SPOTIFY_STATE_INACTIVE)
|
if (g_state != SPOTIFY_STATE_INACTIVE)
|
||||||
{
|
{
|
||||||
commands_cmdloop_exit(cmdbase);
|
commands_base_destroy(cmdbase);
|
||||||
g_state = SPOTIFY_STATE_INACTIVE;
|
g_state = SPOTIFY_STATE_INACTIVE;
|
||||||
|
|
||||||
ret = pthread_join(tid_spotify, NULL);
|
ret = pthread_join(tid_spotify, NULL);
|
||||||
|
@ -2103,8 +2104,7 @@ spotify_deinit(void)
|
||||||
/* Free event base (should free events too) */
|
/* Free event base (should free events too) */
|
||||||
event_base_free(evbase_spotify);
|
event_base_free(evbase_spotify);
|
||||||
|
|
||||||
/* Close pipes and free command base */
|
/* Close pipes */
|
||||||
commands_base_free(cmdbase);
|
|
||||||
close(g_notify_pipe[0]);
|
close(g_notify_pipe[0]);
|
||||||
close(g_notify_pipe[1]);
|
close(g_notify_pipe[1]);
|
||||||
|
|
||||||
|
|
|
@ -199,7 +199,6 @@ worker_init(void)
|
||||||
|
|
||||||
thread_fail:
|
thread_fail:
|
||||||
commands_base_free(cmdbase);
|
commands_base_free(cmdbase);
|
||||||
evnew_fail:
|
|
||||||
event_base_free(evbase_worker);
|
event_base_free(evbase_worker);
|
||||||
evbase_worker = NULL;
|
evbase_worker = NULL;
|
||||||
|
|
||||||
|
@ -212,8 +211,8 @@ worker_deinit(void)
|
||||||
{
|
{
|
||||||
int ret;
|
int ret;
|
||||||
|
|
||||||
commands_cmdloop_exit(cmdbase);
|
|
||||||
g_initialized = 0;
|
g_initialized = 0;
|
||||||
|
commands_base_destroy(cmdbase);
|
||||||
|
|
||||||
ret = pthread_join(tid_worker, NULL);
|
ret = pthread_join(tid_worker, NULL);
|
||||||
if (ret != 0)
|
if (ret != 0)
|
||||||
|
@ -224,7 +223,4 @@ worker_deinit(void)
|
||||||
|
|
||||||
// Free event base (should free events too)
|
// Free event base (should free events too)
|
||||||
event_base_free(evbase_worker);
|
event_base_free(evbase_worker);
|
||||||
|
|
||||||
// Close pipes and free command base
|
|
||||||
commands_base_free(cmdbase);
|
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue