[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[hurd] 15/53: libports: work around bugs in server termination
From: |
Samuel Thibault |
Subject: |
[hurd] 15/53: libports: work around bugs in server termination |
Date: |
Thu, 20 Mar 2014 02:23:50 +0000 |
This is an automated email from the git hooks/post-receive script.
sthibault pushed a commit to branch upstream
in repository hurd.
commit 235491231bdd1fd93507c835767503f047e10b91
Author: Richard Braun <address@hidden>
Date: Sat Feb 22 17:16:17 2014 +0100
libports: work around bugs in server termination
Most servers use ports_manage_port_operations_multithread to process
requests and terminate when it returns. Since many of them don't detach
before shutting down, a client may receive an error if its request
arrived while the server is shutting down. Prevent those spurious errors
by forcing ports_manage_port_operations_multithread not to return.
* libports/manage-multithread.c
(ports_manage_port_operations_multithread): Force global_timeout to 0.
---
libports/manage-multithread.c | 6 ++++++
1 file changed, 6 insertions(+)
diff --git a/libports/manage-multithread.c b/libports/manage-multithread.c
index 64e442f..2067cba 100644
--- a/libports/manage-multithread.c
+++ b/libports/manage-multithread.c
@@ -236,5 +236,11 @@ ports_manage_port_operations_multithread (struct
port_bucket *bucket,
return NULL;
}
+ /* XXX It is currently unsafe for most servers to terminate based on
+ inactivity because a request may arrive after a server has started
+ shutting down, causing the client to receive an error. Prevent the
+ master thread from going away. */
+ global_timeout = 0;
+
thread_function ((void *) 1);
}
--
Alioth's /usr/local/bin/git-commit-notice on
/srv/git.debian.org/git/pkg-hurd/hurd.git
- [hurd] 06/53: Fix typos, (continued)
- [hurd] 06/53: Fix typos, Samuel Thibault, 2014/03/19
- [hurd] 19/53: utils/umount: do not remove passive translator records, Samuel Thibault, 2014/03/19
- [hurd] 16/53: pfinet: set a non-zero ports management timeout, Samuel Thibault, 2014/03/19
- [hurd] 14/53: libstore: fixed some pointer-sign related warnings, Samuel Thibault, 2014/03/19
- [hurd] 22/53: mach-defpager: add function mig_reply_setup, Samuel Thibault, 2014/03/19
- [hurd] 17/53: exec: provide a meaningful name for new tasks, Samuel Thibault, 2014/03/19
- [hurd] 20/53: libpager: improve the pager_demuxer function, Samuel Thibault, 2014/03/19
- [hurd] 21/53: mach-defpager: fix definition of seqnos_memory_object_data_unlock, Samuel Thibault, 2014/03/19
- [hurd] 23/53: mach-defpager: improve the default_pager_demux_object function, Samuel Thibault, 2014/03/19
- [hurd] 18/53: Fix fakeroot and remap parsing corner cases, Samuel Thibault, 2014/03/19
- [hurd] 15/53: libports: work around bugs in server termination,
Samuel Thibault <=
- [hurd] 27/53: tmpfs: set diskfs_disk_name to "none", Samuel Thibault, 2014/03/19
- [hurd] 25/53: nfs: implement netfs_get_source, Samuel Thibault, 2014/03/19
- [hurd] 26/53: trans/mtab: ignore translators that do not implement file_get_source, Samuel Thibault, 2014/03/19
- [hurd] 08/53: Add --font-width option to force 8/9 pixel font width, Samuel Thibault, 2014/03/19
- [hurd] 36/53: term: fix receiver lookups in the tioctl server functions, Samuel Thibault, 2014/03/19
- [hurd] 29/53: New RPCs, fix build, Samuel Thibault, 2014/03/19
- [hurd] 24/53: hurd: fix the get-children and get-source procedures, Samuel Thibault, 2014/03/19
- [hurd] 12/53: libstore: replaced gz decompression code with libz, Samuel Thibault, 2014/03/19
- [hurd] 02/53: Replaced bz2 decompression code with libbz2, Samuel Thibault, 2014/03/19