diff options
Diffstat (limited to 'debian/patches/libports-termination-workaround.patch')
-rw-r--r-- | debian/patches/libports-termination-workaround.patch | 38 |
1 files changed, 0 insertions, 38 deletions
diff --git a/debian/patches/libports-termination-workaround.patch b/debian/patches/libports-termination-workaround.patch deleted file mode 100644 index 196ca7b0..00000000 --- a/debian/patches/libports-termination-workaround.patch +++ /dev/null @@ -1,38 +0,0 @@ -commit cf01d40fb9e540c21138d40b8d3d5a4d1ac683c6 -Author: Justus Winter <4winter@informatik.uni-hamburg.de> -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. - -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); |