This is an automated email from the git hooks/post-receive script. sthibault pushed a commit to branch upstream in repository hurd.
commit c62117165e685beba2f210f87d7d88f578a9322e Author: Justus Winter <[email protected]> Date: Thu Apr 17 15:43:11 2014 +0200 libports: work around bugs in server termination Some servers use ports_manage_port_operations_one_thread 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_one_thread not to return. This is the same change as 235491231bdd1fd93507c835767503f047e10b91 introduced for ports_manage_port_operations_multithread. * libports/manage-one-thread.c (ports_manage_port_operations_one_thread): Force timeout to 0. --- libports/manage-one-thread.c | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/libports/manage-one-thread.c b/libports/manage-one-thread.c index 4ea740b..cbd2df7 100644 --- a/libports/manage-one-thread.c +++ b/libports/manage-one-thread.c @@ -85,7 +85,14 @@ ports_manage_port_operations_one_thread (struct port_bucket *bucket, return status; } - + + /* 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 service loop from terminating by setting TIMEOUT to + zero. */ + timeout = 0; + do err = mach_msg_server_timeout (internal_demuxer, 0, bucket->portset, timeout ? MACH_RCV_TIMEOUT : 0, timeout); -- Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/pkg-hurd/hurd.git
