ENXIO, ESRCH and EADDRNOTAVAIL are also returned by ioctl(KDBUS_CMD_MSG_SEND)
when we have unicast signal messages (signals with a DESTINATION field).
---
src/libsystemd-bus/bus-kernel.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/src/libsystemd-bus/bus-kernel.c b/src/libsystemd-bus/bus-kernel.c
index b85a10d..1499830 100644
--- a/src/libsystemd-bus/bus-kernel.c
+++ b/src/libsystemd-bus/bus-kernel.c
@@ -414,7 +414,7 @@ int bus_kernel_write_message(sd_bus *bus, sd_bus_message
*m) {
/* ENXIO: unique name not known
* ESRCH: well-known name not known */
- if (m->header->type == SD_BUS_MESSAGE_METHOD_CALL)
+ if (m->header->type == SD_BUS_MESSAGE_METHOD_CALL ||
m->header->type == SD_BUS_MESSAGE_SIGNAL)
sd_bus_error_setf(&error,
SD_BUS_ERROR_SERVICE_UNKNOWN, "Destination %s not known", m->destination);
else
return 0;
@@ -423,7 +423,7 @@ int bus_kernel_write_message(sd_bus *bus, sd_bus_message
*m) {
/* EADDRNOTAVAIL: activation is possible, but turned
off in request flags */
- if (m->header->type == SD_BUS_MESSAGE_METHOD_CALL)
+ if (m->header->type == SD_BUS_MESSAGE_METHOD_CALL ||
m->header->type == SD_BUS_MESSAGE_SIGNAL)
sd_bus_error_setf(&error,
SD_BUS_ERROR_SERVICE_UNKNOWN, "Activation of %s not requested", m->destination);
else
return 0;
--
1.8.3.2
_______________________________________________
systemd-devel mailing list
[email protected]
http://lists.freedesktop.org/mailman/listinfo/systemd-devel