mirror of
https://gitlab.xiph.org/xiph/icecast-server.git
synced 2024-12-04 14:46:30 -05:00
recheck the relays after the HUP has been handled
svn path=/trunk/icecast/; revision=5807
This commit is contained in:
parent
c95f2cea8d
commit
b24028f620
@ -21,6 +21,7 @@
|
|||||||
#include "refbuf.h"
|
#include "refbuf.h"
|
||||||
#include "client.h"
|
#include "client.h"
|
||||||
#include "logging.h"
|
#include "logging.h"
|
||||||
|
#include "slave.h"
|
||||||
|
|
||||||
#define CATMODULE "event"
|
#define CATMODULE "event"
|
||||||
|
|
||||||
@ -57,6 +58,7 @@ void event_config_read(void *arg)
|
|||||||
config_clear(config);
|
config_clear(config);
|
||||||
config_set_config(&new_config);
|
config_set_config(&new_config);
|
||||||
restart_logging ();
|
restart_logging ();
|
||||||
|
slave_recheck();
|
||||||
yp_recheck_config (config);
|
yp_recheck_config (config);
|
||||||
|
|
||||||
config_release_config();
|
config_release_config();
|
||||||
|
19
src/slave.c
19
src/slave.c
@ -62,6 +62,14 @@
|
|||||||
static void *_slave_thread(void *arg);
|
static void *_slave_thread(void *arg);
|
||||||
thread_type *_slave_thread_id;
|
thread_type *_slave_thread_id;
|
||||||
static int _initialized = 0;
|
static int _initialized = 0;
|
||||||
|
static unsigned max_interval = 0;
|
||||||
|
|
||||||
|
|
||||||
|
void slave_recheck (void)
|
||||||
|
{
|
||||||
|
max_interval = 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
void slave_initialize(void) {
|
void slave_initialize(void) {
|
||||||
ice_config_t *config;
|
ice_config_t *config;
|
||||||
@ -150,19 +158,12 @@ static void create_relay_stream(char *server, int port,
|
|||||||
static void *_slave_thread(void *arg) {
|
static void *_slave_thread(void *arg) {
|
||||||
sock_t mastersock;
|
sock_t mastersock;
|
||||||
char buf[256];
|
char buf[256];
|
||||||
int interval;
|
unsigned interval = 0;
|
||||||
char *authheader, *data;
|
char *authheader, *data;
|
||||||
int len;
|
int len;
|
||||||
char *username = "relay";
|
char *username = "relay";
|
||||||
int max_interval;
|
|
||||||
relay_server *relay;
|
relay_server *relay;
|
||||||
ice_config_t *config;
|
ice_config_t *config;
|
||||||
|
|
||||||
config = config_get_config();
|
|
||||||
|
|
||||||
interval = max_interval = config->master_update_interval;
|
|
||||||
|
|
||||||
config_release_config();
|
|
||||||
|
|
||||||
while (_initialized) {
|
while (_initialized) {
|
||||||
if (max_interval > ++interval) {
|
if (max_interval > ++interval) {
|
||||||
@ -252,7 +253,7 @@ static void *_slave_thread(void *arg) {
|
|||||||
|
|
||||||
thread_mutex_unlock(&(config_locks()->relay_lock));
|
thread_mutex_unlock(&(config_locks()->relay_lock));
|
||||||
}
|
}
|
||||||
thread_exit(0);
|
INFO0 ("Slave thread shutting down");
|
||||||
return NULL;
|
return NULL;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -15,5 +15,6 @@
|
|||||||
|
|
||||||
void slave_initialize(void);
|
void slave_initialize(void);
|
||||||
void slave_shutdown(void);
|
void slave_shutdown(void);
|
||||||
|
void slave_recheck (void);
|
||||||
|
|
||||||
#endif /* __SLAVE_H__ */
|
#endif /* __SLAVE_H__ */
|
||||||
|
Loading…
Reference in New Issue
Block a user