X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?p=elogind.git;a=blobdiff_plain;f=udevd.c;h=5c51beed1e0d32d85a3d1332df28bfff19f964e9;hp=af9e118c55061146b4952f416b8fb9385c534386;hb=36dddd1ca40b4abbe3352b4cb93b465f4038666e;hpb=f051e340699286831b90b242d843eb1a38c2b19f diff --git a/udevd.c b/udevd.c index af9e118c5..5c51beed1 100644 --- a/udevd.c +++ b/udevd.c @@ -118,7 +118,7 @@ static int udev_event_process(struct udevd_uevent_msg *msg) if (udev == NULL) return -1; strlcpy(udev->action, msg->action, sizeof(udev->action)); - sysfs_device_set_values(udev->dev, msg->devpath, msg->subsystem); + sysfs_device_set_values(udev->dev, msg->devpath, msg->subsystem, msg->driver); udev->devt = msg->devt; retval = udev_device_event(&rules, udev); @@ -593,6 +593,8 @@ static struct udevd_uevent_msg *get_msg_from_envbuf(const char *buf, int buf_siz msg->devpath = &key[8]; else if (strncmp(key, "SUBSYSTEM=", 10) == 0) msg->subsystem = &key[10]; + else if (strncmp(key, "DRIVER=", 7) == 0) + msg->driver = &key[7]; else if (strncmp(key, "SEQNUM=", 7) == 0) msg->seqnum = strtoull(&key[7], NULL, 10); else if (strncmp(key, "PHYSDEVPATH=", 12) == 0) @@ -810,7 +812,6 @@ static void reap_sigchilds(void) static int init_udevd_socket(void) { struct sockaddr_un saddr; - const int buffersize = 16 * 1024 * 1024; socklen_t addrlen; const int feature_on = 1; int retval; @@ -827,9 +828,6 @@ static int init_udevd_socket(void) return -1; } - /* set receive buffersize */ - setsockopt(udevd_sock, SOL_SOCKET, SO_RCVBUFFORCE, &buffersize, sizeof(buffersize)); - /* the bind takes care of ensuring only one copy running */ retval = bind(udevd_sock, (struct sockaddr *) &saddr, addrlen); if (retval < 0) {