X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?a=blobdiff_plain;f=src%2Fcore%2Fsocket.c;h=f3cbe08a4476385d03dea1d66f475f9f8f0639b0;hb=4e6db59202ad2dbbef56a69985643390ffdd57bd;hp=31f4bf49b690c689c42b3234cd2edb5cb4dcca75;hpb=e3d84721dc9bcf9008f72dae03ff0f7842d0bb4b;p=elogind.git diff --git a/src/core/socket.c b/src/core/socket.c index 31f4bf49b..f3cbe08a4 100644 --- a/src/core/socket.c +++ b/src/core/socket.c @@ -1634,7 +1634,7 @@ static int socket_start(Unit *u) { service = SERVICE(UNIT_DEREF(s->service)); if (UNIT(service)->load_state != UNIT_LOADED) { - log_error_unit(UNIT(service)->id, + log_error_unit(u->id, "Socket service %s not loaded, refusing.", UNIT(service)->id); return -ENOENT; @@ -1645,7 +1645,7 @@ static int socket_start(Unit *u) { if (service->state != SERVICE_DEAD && service->state != SERVICE_FAILED && service->state != SERVICE_AUTO_RESTART) { - log_error_unit(UNIT(service)->id, + log_error_unit(u->id, "Socket service %s already active, refusing.", UNIT(service)->id); return -EBUSY; @@ -1653,7 +1653,7 @@ static int socket_start(Unit *u) { #ifdef HAVE_SYSV_COMPAT if (service->is_sysv) { - log_error_unit(UNIT(s)->id, + log_error_unit(u->id, "Using SysV services for socket activation is not supported. Refusing."); return -ENOENT; } @@ -1969,6 +1969,28 @@ static const char *socket_sub_state_to_string(Unit *u) { return socket_state_to_string(SOCKET(u)->state); } +const char* socket_port_type_to_string(SocketPort *p) { + + assert(p); + + switch (p->type) { + case SOCKET_SOCKET: + switch (p->address.type) { + case SOCK_STREAM: return "Stream"; + case SOCK_DGRAM: return "Datagram"; + case SOCK_SEQPACKET: return "SequentialPacket"; + case SOCK_RAW: + if (socket_address_family(&p->address) == AF_NETLINK) + return "Netlink"; + default: return "Invalid"; + } + case SOCKET_SPECIAL: return "Special"; + case SOCKET_MQUEUE: return "MessageQueue"; + case SOCKET_FIFO: return "FIFO"; + default: return NULL; + } +} + static bool socket_check_gc(Unit *u) { Socket *s = SOCKET(u);