diff options
Diffstat (limited to 'meta/recipes-extended/libtirpc/libtirpc/0001-Add-missing-rwlock_unlocks-in-xprt_register.patch')
-rw-r--r-- | meta/recipes-extended/libtirpc/libtirpc/0001-Add-missing-rwlock_unlocks-in-xprt_register.patch | 62 |
1 files changed, 0 insertions, 62 deletions
diff --git a/meta/recipes-extended/libtirpc/libtirpc/0001-Add-missing-rwlock_unlocks-in-xprt_register.patch b/meta/recipes-extended/libtirpc/libtirpc/0001-Add-missing-rwlock_unlocks-in-xprt_register.patch deleted file mode 100644 index 50613ba312..0000000000 --- a/meta/recipes-extended/libtirpc/libtirpc/0001-Add-missing-rwlock_unlocks-in-xprt_register.patch +++ /dev/null @@ -1,62 +0,0 @@ -Subject: [PATCH] Add missing rwlock_unlocks in xprt_register - -It looks like in b2c9430f46c4ac848957fb8adaac176a3f6ac03f when svc_run -switched to poll, an early return was added, but the rwlock was not -unlocked. - -I observed that rpcbind built against libtirpc-1.0.1 would handle only -one request before hanging, and tracked it down to a missing -rwlock_unlock here. - -Fixes: b2c9430f46c4 ('Use poll() instead of select() in svc_run()') - -Upstream-Status: Backport - -Signed-off-by: Michael Forney <mforney@mforney.org> -Signed-off-by: Steve Dickson <steved@redhat.com> -Signed-off-by: Maxin B. John <maxin.john@intel.com> ---- - src/svc.c | 7 ++++--- - 1 file changed, 4 insertions(+), 3 deletions(-) - -diff --git a/src/svc.c b/src/svc.c -index 9c41445..b59467b 100644 ---- a/src/svc.c -+++ b/src/svc.c -@@ -99,7 +99,7 @@ xprt_register (xprt) - { - __svc_xports = (SVCXPRT **) calloc (_rpc_dtablesize(), sizeof (SVCXPRT *)); - if (__svc_xports == NULL) -- return; -+ goto unlock; - } - if (sock < _rpc_dtablesize()) - { -@@ -120,14 +120,14 @@ xprt_register (xprt) - svc_pollfd[i].fd = sock; - svc_pollfd[i].events = (POLLIN | POLLPRI | - POLLRDNORM | POLLRDBAND); -- return; -+ goto unlock; - } - - new_svc_pollfd = (struct pollfd *) realloc (svc_pollfd, - sizeof (struct pollfd) - * (svc_max_pollfd + 1)); - if (new_svc_pollfd == NULL) /* Out of memory */ -- return; -+ goto unlock; - svc_pollfd = new_svc_pollfd; - ++svc_max_pollfd; - -@@ -135,6 +135,7 @@ xprt_register (xprt) - svc_pollfd[svc_max_pollfd - 1].events = (POLLIN | POLLPRI | - POLLRDNORM | POLLRDBAND); - } -+unlock: - rwlock_unlock (&svc_fd_lock); - } - --- -2.5.3 - |