summaryrefslogtreecommitdiff
path: root/udev/lib
AgeCommit message (Collapse)Author
2009-03-12udevadm: settle - synchronise with the udev daemonScott James Remnant
There's still a slight race condition when using udevadm settle, if the udev daemon has a pending inotify event but hasn't yet generated the "change" uevent for it, the kernel and udev sequence numbers will match and settle will exit. Now udevadm settle will send a control message to udevd, which will respond by sending SIGUSR1 back to the waiting udevadm settle once it has completed the main loop iteration in which it received the control message. If there were no pending inotify events, this will simply wake up the udev daemon and allow settle to continue. If there are pending inotify events, they are handled first in the main loop so when settle is continued they will have been turned into uevents and the kernel sequence number will have been incremented. Since the inotify event is pending for udevd when the close() system call returns (it's queued as part of the kernel handling for that system call), and since the kernel sequence number is incremented by writing to the uevent file (as udevd does), this solves the race. When the settle continues, if there were pending inotify events that udevd had not read, they are now pending uevents which settle can wait for. Signed-off-by: Scott James Remnant <scott@ubuntu.com>
2009-03-11libudev: ctrl - return error after sending ctrl messageKay Sievers
2009-03-04libudev: queue - use lstat() to check existence of symlinkKay Sievers
2009-02-23Allow watch handle to be stored in the udevdb.Scott James Remnant
2009-01-14libudev: use 4096 bytes buffer for attribute readingKay Sievers
2009-01-06libudev: test - add udev_device_get_property_value()Kay Sievers
2009-01-06libudev: device - add udev_device_get_property_value()Kay Sievers
2009-01-03libudev: subsytem -> subsystemKay Sievers
2009-01-03libudev: device - remove udev_device_get_parent_with_subsystemMarcel Holtmann
2009-01-03libudev: device - lookup subsystem and devtype togetherMarcel Holtmann
2009-01-03libudev: device - read "uevent" only if info is not already loadedKay Sievers
2009-01-02libudev: device - add devtype supportMarcel Holtmann
2008-12-29libudev: enumerate - add lookup by propertyKay Sievers
2008-12-28if needed, store database entries also for devices which do not have a ↵Kay Sievers
device node
2008-12-16libudev: include <sys/types.h>Kay Sievers
2008-11-20libudev: accept NULL whitelist in util_replace_chars()Kay Sievers
2008-11-17limit $attr(<symlink>) magic to well-known links onlyKay Sievers
2008-11-14libudev: device - handle disk "device" link for partitions in deprecated ↵Kay Sievers
sysfs layout Thanks to Mikhail Kolesnik <mike@openbunker.org> for finding this.
2008-11-06udevadm: settle - exit if udevd exitsKay Sievers
2008-11-05unify string replacementKay Sievers
2008-11-05do not import the "uevent" file when we only read the db to get old symlinksKay Sievers
2008-11-05fix cleanup of possible left-over symlinksKay Sievers
2008-11-04fix list handling in enumerate and rules file sortingKay Sievers
2008-11-01move some info() to dbg()Kay Sievers
2008-10-26kerneldoc comment fixesAlan Jenkins
s/ressources/resources/ Also reduce commas per sentence and add a possessive apostrophe.
2008-10-26libudev: device - allocate envp array only onceKay Sievers
2008-10-26test: add RUN+="socket: ..." to a test to run monitor codeKay Sievers
2008-10-26libudev: device - fill envp array while composing monitor bufferKay Sievers
Thanks to Alan Jenkins, for the idea.
2008-10-24remove debug printfKay Sievers
2008-10-24libudev: monitor - cache result of monitor send bufferKay Sievers
2008-10-24libudev: monitor - replace far too expensive snprintf() with strlcpy()Kay Sievers
2008-10-23shrink struct udev_eventKay Sievers
2008-10-21replace strncpy() with strlcpy()Alan Jenkins
The problem was strncpy() doesn't stop after writing the terminating NUL; by definition it goes on to zero the entire buffer. I spy another use of strncpy in udev_device_add_property_from_string(), which is responsible for another ~1% user cpu time... Signed-off-by: Alan Jenkins <alan-jenkins@tuffmail.co.uk>
2008-10-21libudev: device - 128 -> ENVP_SIZEKay Sievers
2008-10-21libudev: allocate udev_device->envp[] dynamicallyAlan Jenkins
Measured 2% _user_ cpu time reduction on EeePC coldplug. Signed-off-by: Alan Jenkins <alan-jenkins@tuffmail.co.uk>
2008-10-21libudev: util - optimize path_encode()Alan Jenkins
Since we already know the length, use memcpy() instead. Measured 2% _user_ cpu time reduction on EeePC coldplug. Signed-off-by: Alan Jenkins <alan-jenkins@tuffmail.co.uk>
2008-10-21use more appropriate alternatives to malloc()Alan Jenkins
Use calloc to request cleared memory instead. Kernel and libc conspire to make this more efficient. Also, replace one malloc() + strcpy() with strdup(). Signed-off-by: Alan Jenkins <alan-jenkins@tuffmail.co.uk>
2008-10-20libudev: device - get_attr_value() -> get_sysattr_value()Kay Sievers
2008-10-18prefix udev-util.c functions with util_*Kay Sievers
2008-10-18udev_list_cleanup() -> udev_list_cleanup_entries()Kay Sievers
2008-10-17libudev: make list_node functions availableKay Sievers
2008-10-17libudev: ctrl - change magic to integerKay Sievers
2008-10-17libudev: monitor - add set_receive_buffer_size()Kay Sievers
2008-10-17libudev: add sysnum to test programKay Sievers
2008-10-17libudev: fix sysnum logic for digit-only device namesAlan Jenkins
2008-10-17libudev: list - prepend udev_* to all functionsKay Sievers
2008-10-16fix sorting of rules filesKay Sievers
2008-10-16udev-rules-parse: name_list -> udev_listKay Sievers
2008-10-16libudev: monitor - export MAJOR/MINOR only if availableKay Sievers
2008-10-16libudev: always add UDEV_LOGKay Sievers