diff options
author | chris_friesen@sympatico.ca <chris_friesen@sympatico.ca> | 2004-03-31 23:03:07 -0800 |
---|---|---|
committer | Greg KH <gregkh@suse.de> | 2005-04-26 21:35:13 -0700 |
commit | f27125f98f6487e881a957726da895aebd799f0d (patch) | |
tree | 7c4c9ed2f78dc37a338964b17940466b04d1fea3 /tdb/spinlock.h | |
parent | 7b9b18392182e5cfa5d731288e8592549bdf67df (diff) |
[PATCH] udevd race conditions and performance, assorted cleanups
This patch covers a number of areas:
1) sysfs.h is fixed up to use the common dbg() macro. This fixes the
case where DEBUG is defined but USE_LOG isn't.
2) udevstart.c is modified to include the proper headers, rather than
getting them indirectly which can break depending on Makefile flags
3) udevd.c gets some major changes:
a) I added a pipe from the signal handler. This fixes the race
conditions that I mentioned earlier. Basically, the point of the pipe
is to force the select() call to return immediately if a signal handler
fired before we actually started the select() call. This then lets us
run the appropriate code based on flags set in the signal handler proper.
b) I added a number of flags to coalesce calls to common routines. This
should make things slightly more efficient.
c) since most calls will tend to come in with a sequence number larger
than what has been received, I switched msg_queue_insert() to scan the
msg_list backwards to improve performance.
filename="udevd.diff"
Diffstat (limited to 'tdb/spinlock.h')
0 files changed, 0 insertions, 0 deletions