aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--src/Listen.cxx10
-rw-r--r--src/Listen.hxx3
-rw-r--r--src/Main.cxx2
3 files changed, 7 insertions, 8 deletions
diff --git a/src/Listen.cxx b/src/Listen.cxx
index faa3e0db1..731f51196 100644
--- a/src/Listen.cxx
+++ b/src/Listen.cxx
@@ -44,12 +44,12 @@ static constexpr Domain listen_domain("listen");
class ClientListener final : public ServerSocket {
public:
- ClientListener():ServerSocket(*main_loop) {}
+ ClientListener(EventLoop &_loop):ServerSocket(_loop) {}
private:
virtual void OnAccept(int fd, const sockaddr &address,
size_t address_length, int uid) {
- client_new(*main_loop, *instance->partition,
+ client_new(GetEventLoop(), *instance->partition,
fd, &address, address_length, uid);
}
};
@@ -101,16 +101,14 @@ listen_systemd_activation(Error &error_r)
}
bool
-listen_global_init(Error &error)
+listen_global_init(EventLoop &loop, Error &error)
{
- assert(main_loop != nullptr);
-
int port = config_get_positive(CONF_PORT, DEFAULT_PORT);
const struct config_param *param =
config_get_next_param(CONF_BIND_TO_ADDRESS, nullptr);
bool success;
- listen_socket = new ClientListener();
+ listen_socket = new ClientListener(loop);
if (listen_systemd_activation(error))
return true;
diff --git a/src/Listen.hxx b/src/Listen.hxx
index f14ec665c..8be0999ea 100644
--- a/src/Listen.hxx
+++ b/src/Listen.hxx
@@ -20,12 +20,13 @@
#ifndef MPD_LISTEN_HXX
#define MPD_LISTEN_HXX
+class EventLoop;
class Error;
extern int listen_port;
bool
-listen_global_init(Error &error);
+listen_global_init(EventLoop &loop, Error &error);
void listen_global_finish(void);
diff --git a/src/Main.cxx b/src/Main.cxx
index 87a35eca2..86ac7fc7a 100644
--- a/src/Main.cxx
+++ b/src/Main.cxx
@@ -413,7 +413,7 @@ int mpd_main(int argc, char *argv[])
const unsigned max_clients = config_get_positive(CONF_MAX_CONN, 10);
instance->client_list = new ClientList(max_clients);
- if (!listen_global_init(error)) {
+ if (!listen_global_init(*main_loop, error)) {
LogError(error);
return EXIT_FAILURE;
}