summaryrefslogtreecommitdiff
path: root/src/core
diff options
context:
space:
mode:
Diffstat (limited to 'src/core')
-rw-r--r--src/core/socket.c9
-rw-r--r--src/core/socket.h2
2 files changed, 5 insertions, 6 deletions
diff --git a/src/core/socket.c b/src/core/socket.c
index c58a7f03ee..646887d803 100644
--- a/src/core/socket.c
+++ b/src/core/socket.c
@@ -180,9 +180,8 @@ static int socket_arm_timer(Socket *s) {
socket_dispatch_timer, s);
}
-static int socket_instantiate_service(Socket *s) {
- _cleanup_free_ char *prefix = NULL;
- _cleanup_free_ char *name = NULL;
+int socket_instantiate_service(Socket *s) {
+ _cleanup_free_ char *prefix = NULL, *name = NULL;
int r;
Unit *u;
@@ -193,11 +192,9 @@ static int socket_instantiate_service(Socket *s) {
* here. For Accept=no this is mostly a NOP since the service
* is figured out at load time anyway. */
- if (UNIT_DEREF(s->service))
+ if (UNIT_DEREF(s->service) || !s->accept)
return 0;
- assert(s->accept);
-
prefix = unit_name_to_prefix(UNIT(s)->id);
if (!prefix)
return -ENOMEM;
diff --git a/src/core/socket.h b/src/core/socket.h
index 39e00deea4..814a3bfabc 100644
--- a/src/core/socket.h
+++ b/src/core/socket.h
@@ -183,3 +183,5 @@ const char* socket_result_to_string(SocketResult i) _const_;
SocketResult socket_result_from_string(const char *s) _pure_;
const char* socket_port_type_to_string(SocketPort *p) _pure_;
+
+int socket_instantiate_service(Socket *s);