[vlc-commits] cli: don't create listener thread for console mode
Rémi Denis-Courmont
git at videolan.org
Sun Nov 29 14:56:03 CET 2020
vlc | branch: master | Rémi Denis-Courmont <remi at remlab.net> | Sun Nov 29 12:39:18 2020 +0200| [7adefbdd15ad84a0dcba4df95de0d0ba5366664f] | committer: Rémi Denis-Courmont
cli: don't create listener thread for console mode
> http://git.videolan.org/gitweb.cgi/vlc.git/?a=commit;h=7adefbdd15ad84a0dcba4df95de0d0ba5366664f
---
modules/control/cli/cli.c | 20 ++++++++++++--------
1 file changed, 12 insertions(+), 8 deletions(-)
diff --git a/modules/control/cli/cli.c b/modules/control/cli/cli.c
index 5c10cd9ce4..0196b26d57 100644
--- a/modules/control/cli/cli.c
+++ b/modules/control/cli/cli.c
@@ -510,10 +510,10 @@ static void *Run(void *data)
intf_thread_t *intf = data;
intf_sys_t *sys = intf->p_sys;
- while (sys->pi_socket_listen != NULL)
- {
- assert(sys->pi_socket_listen != NULL);
+ assert(sys->pi_socket_listen != NULL);
+ for (;;)
+ {
int fd = net_Accept(intf, sys->pi_socket_listen);
if (fd == -1)
continue;
@@ -529,8 +529,6 @@ static void *Run(void *data)
vlc_mutex_unlock(&sys->clients_lock);
}
}
-
- return NULL;
}
#else
@@ -944,8 +942,8 @@ static int Activate( vlc_object_t *p_this )
goto error;
vlc_list_append(&cl->node, &p_sys->clients);
}
+ else
#endif
-
if( vlc_clone( &p_sys->thread, Run, p_intf, VLC_THREAD_PRIORITY_LOW ) )
goto error;
@@ -976,8 +974,14 @@ static void Deactivate( vlc_object_t *p_this )
intf_thread_t *p_intf = (intf_thread_t*)p_this;
intf_sys_t *p_sys = p_intf->p_sys;
- vlc_cancel( p_sys->thread );
- vlc_join( p_sys->thread, NULL );
+#ifndef _WIN32
+ if (p_sys->pi_socket_listen != NULL)
+#endif
+ {
+ vlc_cancel(p_sys->thread);
+ vlc_join(p_sys->thread, NULL);
+ }
+
DeregisterPlayer(p_intf, p_sys->player_cli);
#ifndef _WIN32
More information about the vlc-commits
mailing list