mirror of
https://github.com/AuxXxilium/eudev.git
synced 2024-11-23 23:10:57 +07:00
[PATCH] udev: sleep_for_dev() bits
OK, I fixed that bug you hinted at earlier in my previous sleep_for_dev() patch. I am sure you fixed it, but here we go nonetheless, just in case. I actually changed it up a bit. It is probably faster to count down from SECONDS_TO_WAIT_FOR_DEV than count up. I also made the lone 'path' argument const, since it can be. Some other misc. bits, too.
This commit is contained in:
parent
a34ea8f598
commit
c332cfc72d
14
udev-add.c
14
udev-add.c
@ -139,26 +139,24 @@ exit:
|
||||
static int sleep_for_dev(char *path)
|
||||
{
|
||||
char filename[SYSFS_PATH_MAX + 6];
|
||||
struct stat buf;
|
||||
int loop = 0;
|
||||
int retval = -ENODEV;
|
||||
int loop = SECONDS_TO_WAIT_FOR_DEV;
|
||||
int retval;
|
||||
|
||||
strcpy(filename, sysfs_path);
|
||||
strcat(filename, path);
|
||||
strcat(filename, "/dev");
|
||||
|
||||
while (loop < SECONDS_TO_WAIT_FOR_DEV) {
|
||||
while (loop--) {
|
||||
struct stat buf;
|
||||
|
||||
dbg("looking for %s", filename);
|
||||
retval = stat(filename, &buf);
|
||||
if (retval == 0) {
|
||||
retval = 0;
|
||||
if (!retval)
|
||||
goto exit;
|
||||
}
|
||||
|
||||
/* sleep for a second or two to give the kernel a chance to
|
||||
* create the dev file */
|
||||
sleep(1);
|
||||
++loop;
|
||||
}
|
||||
retval = -ENODEV;
|
||||
exit:
|
||||
|
Loading…
Reference in New Issue
Block a user