diff --git a/src/slave.c b/src/slave.c index cb792ac3..71a44cf9 100644 --- a/src/slave.c +++ b/src/slave.c @@ -367,6 +367,7 @@ static void *start_relay_stream (void *arg) source_clear_source (relay->source); /* cleanup relay, but prevent this relay from starting up again too soon */ + relay->source->on_demand = 0; relay->start = time(NULL) + max_interval; relay->cleanup = 1; @@ -391,7 +392,15 @@ static void check_relay_stream (relay_server *relay) { DEBUG1("Adding relay source at mountpoint \"%s\"", relay->localmount); if (relay->on_demand) + { + ice_config_t *config = config_get_config (); + mount_proxy *mountinfo = config_find_mount (config, relay->localmount); + if (mountinfo == NULL) + source_update_settings (config, relay->source, mountinfo); + config_release_config (); + stats_event (relay->localmount, "listeners", "0"); slave_update_all_mounts(); + } } else WARN1 ("new relay but source \"%s\" already exists", relay->localmount);