1
0
mirror of https://gitlab.xiph.org/xiph/icecast-server.git synced 2025-02-02 15:07:36 -05:00

Fix an fserv crash bug if startup failed, and fix an fserv-didn't-actually-

work-at-all-in-most-circumstances bug.

svn path=/trunk/icecast/; revision=3883
This commit is contained in:
Michael Smith 2002-08-28 13:50:58 +00:00
parent b2c59ffdd5
commit 08061569bd

View File

@ -47,7 +47,7 @@
static avl_tree *client_tree;
static avl_tree *pending_tree;
static avl_tree *mimetypes;
static avl_tree *mimetypes = NULL;
static cond_t fserv_cond;
static thread_t *fserv_thread;
@ -98,6 +98,9 @@ void fserve_shutdown(void)
if(!config_get_config()->fileserve)
return;
if(!run_fserv)
return;
avl_tree_free(mimetypes, _delete_mapping);
run_fserv = 0;
@ -136,6 +139,7 @@ static void wait_for_fds() {
return;
#else
struct timeval tv;
fd_set realfds;
tv.tv_sec = 0;
tv.tv_usec = 200000;
if(client_tree_changed) {
@ -155,7 +159,8 @@ static void wait_for_fds() {
avl_tree_unlock(client_tree);
}
if(select(fd_max+1, NULL, &fds, NULL, &tv) > 0)
memcpy(&realfds, &fds, sizeof(fd_set));
if(select(fd_max+1, NULL, &realfds, NULL, &tv) > 0)
return;
#endif
else {