From a48ba987db1eb47c81ae27ebb7e269e705484ad4 Mon Sep 17 00:00:00 2001 From: Stephan Wiesand Date: Mon, 26 Feb 2007 17:57:40 +0000 Subject: [PATCH] DEVEL15-conditionalize-tasklist-lock-20070226 FIXES 54922 make rx_knet use tasklist_lock conditionally also (cherry picked from commit a3a40968308e9ef894df3756af7ccd7ed141c74f) --- src/rx/LINUX/rx_knet.c | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/src/rx/LINUX/rx_knet.c b/src/rx/LINUX/rx_knet.c index 4b2720e4e..8587b0d0a 100644 --- a/src/rx/LINUX/rx_knet.c +++ b/src/rx/LINUX/rx_knet.c @@ -204,24 +204,34 @@ osi_NetReceive(osi_socket so, struct sockaddr_in *from, struct iovec *iov, return code; } +#ifdef EXPORTED_TASKLIST_LOCK extern rwlock_t tasklist_lock __attribute__((weak)); +#endif void osi_StopListener(void) { struct task_struct *listener; extern int rxk_ListenerPid; +#ifdef EXPORTED_TASKLIST_LOCK if (&tasklist_lock) read_lock(&tasklist_lock); +#endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,16) +#ifdef EXPORTED_TASKLIST_LOCK else +#endif rcu_read_lock(); #endif listener = find_task_by_pid(rxk_ListenerPid); +#ifdef EXPORTED_TASKLIST_LOCK if (&tasklist_lock) read_unlock(&tasklist_lock); +#endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,16) +#ifdef EXPORTED_TASKLIST_LOCK else +#endif rcu_read_unlock(); #endif while (rxk_ListenerPid) { -- 2.39.5