- fix wait time resolution in alarm and state queue handlers (bz 247711).
This commit is contained in:
parent
28f861124d
commit
a0eb49c1a0
56
autofs-5.0.2-hi-res-time.patch
Normal file
56
autofs-5.0.2-hi-res-time.patch
Normal file
@ -0,0 +1,56 @@
|
|||||||
|
diff --git a/daemon/state.c b/daemon/state.c
|
||||||
|
index 6c373c8..39f4497 100644
|
||||||
|
--- a/daemon/state.c
|
||||||
|
+++ b/daemon/state.c
|
||||||
|
@@ -894,6 +894,7 @@ static void *st_queue_handler(void *arg)
|
||||||
|
struct list_head *head;
|
||||||
|
struct list_head *p;
|
||||||
|
struct timespec wait;
|
||||||
|
+ struct timeval now;
|
||||||
|
int status, ret;
|
||||||
|
|
||||||
|
st_mutex_lock();
|
||||||
|
@@ -904,8 +905,9 @@ static void *st_queue_handler(void *arg)
|
||||||
|
* entry is added.
|
||||||
|
*/
|
||||||
|
head = &state_queue;
|
||||||
|
- wait.tv_sec = time(NULL) + 1;
|
||||||
|
- wait.tv_nsec = 0;
|
||||||
|
+ gettimeofday(&now, NULL);
|
||||||
|
+ wait.tv_sec = now.tv_sec + 1;
|
||||||
|
+ wait.tv_nsec = now.tv_usec * 1000;
|
||||||
|
|
||||||
|
while (list_empty(head)) {
|
||||||
|
status = pthread_cond_timedwait(&cond, &mutex, &wait);
|
||||||
|
@@ -939,8 +941,9 @@ static void *st_queue_handler(void *arg)
|
||||||
|
}
|
||||||
|
|
||||||
|
while (1) {
|
||||||
|
- wait.tv_sec = time(NULL) + 1;
|
||||||
|
- wait.tv_nsec = 0;
|
||||||
|
+ gettimeofday(&now, NULL);
|
||||||
|
+ wait.tv_sec = now.tv_sec + 1;
|
||||||
|
+ wait.tv_nsec = now.tv_usec * 1000;
|
||||||
|
|
||||||
|
signaled = 0;
|
||||||
|
while (!signaled) {
|
||||||
|
diff --git a/lib/alarm.c b/lib/alarm.c
|
||||||
|
index c6c4ba3..90bf7aa 100755
|
||||||
|
--- a/lib/alarm.c
|
||||||
|
+++ b/lib/alarm.c
|
||||||
|
@@ -192,12 +192,14 @@ static void *alarm_handler(void *arg)
|
||||||
|
now = time(NULL);
|
||||||
|
|
||||||
|
if (first->time > now) {
|
||||||
|
+ struct timeval usecs;
|
||||||
|
/*
|
||||||
|
* Wait for alarm to trigger or a new alarm
|
||||||
|
* to be added.
|
||||||
|
*/
|
||||||
|
+ gettimeofday(&usecs, NULL);
|
||||||
|
expire.tv_sec = first->time;
|
||||||
|
- expire.tv_nsec = 0;
|
||||||
|
+ expire.tv_nsec = usecs.tv_usec * 1000;
|
||||||
|
|
||||||
|
status = pthread_cond_timedwait(&cond, &mutex, &expire);
|
||||||
|
if (status && status != ETIMEDOUT)
|
@ -4,7 +4,7 @@
|
|||||||
Summary: A tool for automatically mounting and unmounting filesystems
|
Summary: A tool for automatically mounting and unmounting filesystems
|
||||||
Name: autofs
|
Name: autofs
|
||||||
Version: 5.0.2
|
Version: 5.0.2
|
||||||
Release: 5
|
Release: 6
|
||||||
Epoch: 1
|
Epoch: 1
|
||||||
License: GPL
|
License: GPL
|
||||||
Group: System Environment/Daemons
|
Group: System Environment/Daemons
|
||||||
@ -16,6 +16,7 @@ Patch2: autofs-5.0.2-add-missing-multi-support.patch
|
|||||||
Patch3: autofs-5.0.2-add-multi-nsswitch-lookup.patch
|
Patch3: autofs-5.0.2-add-multi-nsswitch-lookup.patch
|
||||||
Patch4: autofs-5.0.2-fix-offset-dir-create.patch
|
Patch4: autofs-5.0.2-fix-offset-dir-create.patch
|
||||||
Patch5: autofs-5.0.2-quote-exports.patch
|
Patch5: autofs-5.0.2-quote-exports.patch
|
||||||
|
Patch6: autofs-5.0.2-hi-res-time.patch
|
||||||
Buildroot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
|
Buildroot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
|
||||||
BuildRequires: autoconf, hesiod-devel, openldap-devel, bison, flex, libxml2-devel, cyrus-sasl-devel, openssl-devel
|
BuildRequires: autoconf, hesiod-devel, openldap-devel, bison, flex, libxml2-devel, cyrus-sasl-devel, openssl-devel
|
||||||
Conflicts: kernel < 2.6.17
|
Conflicts: kernel < 2.6.17
|
||||||
@ -63,6 +64,7 @@ echo %{version}-%{release} > .version
|
|||||||
%patch3 -p1
|
%patch3 -p1
|
||||||
%patch4 -p1
|
%patch4 -p1
|
||||||
%patch5 -p1
|
%patch5 -p1
|
||||||
|
%patch6 -p1
|
||||||
|
|
||||||
%build
|
%build
|
||||||
#CFLAGS="$RPM_OPT_FLAGS" ./configure --prefix=/usr --libdir=%{_libdir}
|
#CFLAGS="$RPM_OPT_FLAGS" ./configure --prefix=/usr --libdir=%{_libdir}
|
||||||
@ -115,6 +117,9 @@ fi
|
|||||||
%{_libdir}/autofs/
|
%{_libdir}/autofs/
|
||||||
|
|
||||||
%changelog
|
%changelog
|
||||||
|
* Wed Jul 18 2007 Ian Kent <ikent@redhat.com> - 5.0.2-6
|
||||||
|
- fix wait time resolution in alarm and state queue handlers (bz 247711).
|
||||||
|
|
||||||
* Mon Jul 16 2007 Ian Kent <ikent@redhat.com> - 5.0.2-5
|
* Mon Jul 16 2007 Ian Kent <ikent@redhat.com> - 5.0.2-5
|
||||||
- fix mount point directory creation for bind mounts.
|
- fix mount point directory creation for bind mounts.
|
||||||
- add quoting for exports gathered by hosts map.
|
- add quoting for exports gathered by hosts map.
|
||||||
|
Loading…
Reference in New Issue
Block a user