X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?p=elogind.git;a=blobdiff_plain;f=src%2Fudev%2Fudev-ctrl.c;h=39d777ec7384b9eeee88e089d14c364ea108c290;hp=662bd33de889d38308dabaa35712ba3edc86eeaa;hb=eff05270986a13e7de93ae16311f654d3f7c166f;hpb=97fec53e5e91222f43fc89d0ad45fa197742a363 diff --git a/src/udev/udev-ctrl.c b/src/udev/udev-ctrl.c index 662bd33de..39d777ec7 100644 --- a/src/udev/udev-ctrl.c +++ b/src/udev/udev-ctrl.c @@ -140,7 +140,7 @@ struct udev *udev_ctrl_get_udev(struct udev_ctrl *uctrl) return uctrl->udev; } -struct udev_ctrl *udev_ctrl_ref(struct udev_ctrl *uctrl) +static struct udev_ctrl *udev_ctrl_ref(struct udev_ctrl *uctrl) { if (uctrl == NULL) return NULL; @@ -181,10 +181,10 @@ struct udev_ctrl_connection *udev_ctrl_get_connection(struct udev_ctrl *uctrl) { struct udev_ctrl_connection *conn; struct ucred ucred; - socklen_t slen; const int on = 1; + int r; - conn = calloc(1, sizeof(struct udev_ctrl_connection)); + conn = new(struct udev_ctrl_connection, 1); if (conn == NULL) return NULL; conn->refcount = 1; @@ -198,9 +198,9 @@ struct udev_ctrl_connection *udev_ctrl_get_connection(struct udev_ctrl *uctrl) } /* check peer credential of connection */ - slen = sizeof(ucred); - if (getsockopt(conn->sock, SOL_SOCKET, SO_PEERCRED, &ucred, &slen) < 0) { - log_error("unable to receive credentials of ctrl connection: %m\n"); + r = getpeercred(conn->sock, &ucred); + if (r < 0) { + log_error("unable to receive credentials of ctrl connection: %s", strerror(-r)); goto err; } if (ucred.uid > 0) { @@ -359,7 +359,7 @@ struct udev_ctrl_msg *udev_ctrl_receive_msg(struct udev_ctrl_connection *conn) udev_ctrl_connection_ref(conn); /* wait for the incoming message */ - for(;;) { + for (;;) { struct pollfd pfd[1]; int r; @@ -416,14 +416,6 @@ err: return NULL; } -struct udev_ctrl_msg *udev_ctrl_msg_ref(struct udev_ctrl_msg *ctrl_msg) -{ - if (ctrl_msg == NULL) - return NULL; - ctrl_msg->refcount++; - return ctrl_msg; -} - struct udev_ctrl_msg *udev_ctrl_msg_unref(struct udev_ctrl_msg *ctrl_msg) { if (ctrl_msg == NULL)