Go to:
Gentoo Home
Documentation
Forums
Lists
Bugs
Planet
Store
Wiki
Get Gentoo!
Gentoo's Bugzilla – Attachment 46753 Details for
Bug 74786
ipw2100 canot load firmware with sys-apps/baselayout-1.11.8 (udevsend broke)
Home
|
New
–
[Ex]
|
Browse
|
Search
|
Privacy Policy
|
[?]
|
Reports
|
Requests
|
Help
|
New Account
|
Log In
[x]
|
Forgot Password
Login:
[x]
[patch]
shorten the initial timout of udevd to 2 seconds instead of 10
udevd-initial-timout-fix-01.patch (text/plain), 2.57 KB, created by
Kay Sievers
on 2004-12-23 19:02:54 UTC
(
hide
)
Description:
shorten the initial timout of udevd to 2 seconds instead of 10
Filename:
MIME Type:
Creator:
Kay Sievers
Created:
2004-12-23 19:02:54 UTC
Size:
2.57 KB
patch
obsolete
>===== udevd.c 1.56 vs edited ===== >--- 1.56/udevd.c 2004-12-20 00:57:30 +01:00 >+++ edited/udevd.c 2004-12-24 03:53:44 +01:00 >@@ -47,6 +47,7 @@ > static int udevsendsock; > > static int pipefds[2]; >+static long startup_time; > static unsigned long long expected_seqnum = 0; > static volatile int sigchilds_waiting; > static volatile int run_msg_q; >@@ -220,6 +221,8 @@ > struct hotplug_msg *tmp_msg; > struct sysinfo info; > long msg_age = 0; >+ static int timeout = EVENT_INIT_TIMEOUT_SEC; >+ static int init = 1; > > dbg("msg queue manager, next expected is %llu", expected_seqnum); > recheck: >@@ -230,11 +233,18 @@ > continue; > } > >+ /* see if we are in the initialization phase and wait for the very first events */ >+ if (init && (info.uptime - startup_time >= INIT_TIME_SEC)) { >+ init = 0; >+ timeout = EVENT_TIMEOUT_SEC; >+ dbg("initialization phase passed, set timeout to %i seconds", EVENT_TIMEOUT_SEC); >+ } >+ > /* move event with expired timeout to the exec list */ > sysinfo(&info); > msg_age = info.uptime - loop_msg->queue_time; > dbg("seq %llu is %li seconds old", loop_msg->seqnum, msg_age); >- if (msg_age > EVENT_TIMEOUT_SEC-1) { >+ if (msg_age >= timeout) { > msg_move_exec(loop_msg); > goto recheck; > } else { >@@ -246,8 +256,8 @@ > > /* set timeout for remaining queued events */ > if (list_empty(&msg_list) == 0) { >- struct itimerval itv = {{0, 0}, {EVENT_TIMEOUT_SEC - msg_age, 0}}; >- dbg("next event expires in %li seconds", EVENT_TIMEOUT_SEC - msg_age); >+ struct itimerval itv = {{0, 0}, {timeout - msg_age, 0}}; >+ dbg("next event expires in %li seconds", timeout - msg_age); > setitimer(ITIMER_REAL, &itv, NULL); > } > } >@@ -429,6 +439,7 @@ > > int main(int argc, char *argv[], char *envp[]) > { >+ struct sysinfo info; > int maxsockplus; > struct sockaddr_un saddr; > socklen_t addrlen; >@@ -531,6 +542,10 @@ > dbg("udev binary is set to '%s'", udev_bin); > else > udev_bin = UDEV_BIN; >+ >+ /* handle special startup timeout*/ >+ sysinfo(&info); >+ startup_time = info.uptime; > > FD_ZERO(&readfds); > FD_SET(udevsendsock, &readfds); >===== udevd.h 1.16 vs edited ===== >--- 1.16/udevd.h 2004-12-11 13:43:08 +01:00 >+++ edited/udevd.h 2004-12-24 03:47:53 +01:00 >@@ -25,10 +25,12 @@ > #include "list.h" > > #define UDEV_MAGIC "udevd_" UDEV_VERSION >-#define EVENT_TIMEOUT_SEC 10 > #define UDEVD_SOCK_PATH "udevd" > #define SEND_WAIT_MAX_SECONDS 3 > #define SEND_WAIT_LOOP_PER_SECOND 10 >+#define INIT_TIME_SEC 5 >+#define EVENT_INIT_TIMEOUT_SEC 2 >+#define EVENT_TIMEOUT_SEC 10 > > /* environment buffer, should match the kernel's size in lib/kobject_uevent.h */ > #define HOTPLUG_BUFFER_SIZE 1024
You cannot view the attachment while viewing its details because your browser does not support IFRAMEs.
View the attachment on a separate page
.
View Attachment As Diff
View Attachment As Raw
Actions:
View
|
Diff
Attachments on
bug 74786
: 46753 |
49756