X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?a=blobdiff_plain;f=src%2Fudev%2Fudev-ctrl.c;h=c0c5981db8c5a3a1e9619bdaa770d8afeaa9973c;hb=2eec67acbb00593e414549a7e5b35eb7dd776b1b;hp=47f06510c8ee9c8500a9e7f96f65bcdbcaebef69;hpb=d6d810fbf8071f8510450dbacd1d083f37603656;p=elogind.git diff --git a/src/udev/udev-ctrl.c b/src/udev/udev-ctrl.c index 47f06510c..c0c5981db 100644 --- a/src/udev/udev-ctrl.c +++ b/src/udev/udev-ctrl.c @@ -10,13 +10,11 @@ */ #include -#include #include #include #include #include -#include -#include +#include #include #include @@ -372,11 +370,14 @@ struct udev_ctrl_msg *udev_ctrl_receive_msg(struct udev_ctrl_connection *conn) { iov.iov_base = &uctrl_msg->ctrl_msg_wire; iov.iov_len = sizeof(struct udev_ctrl_msg_wire); - size = recvmsg(conn->sock, &smsg, MSG_CMSG_CLOEXEC); + size = recvmsg(conn->sock, &smsg, 0); if (size < 0) { log_error_errno(errno, "unable to receive ctrl message: %m"); goto err; } + + cmsg_close_all(&smsg); + cmsg = CMSG_FIRSTHDR(&smsg); cred = (struct ucred *) CMSG_DATA(cmsg);