From: Stephan Wiesand Date: Mon, 26 Feb 2007 17:55:55 +0000 (+0000) Subject: conditionalize-tasklist-lock-20070226 X-Git-Tag: BP-openafs-windows-kdfs-ifs~775 X-Git-Url: http://git.openafs.org/?p=openafs.git;a=commitdiff_plain;h=a3a40968308e9ef894df3756af7ccd7ed141c74f conditionalize-tasklist-lock-20070226 FIXES 54922 make rx_knet use tasklist_lock conditionally also --- diff --git a/src/rx/LINUX/rx_knet.c b/src/rx/LINUX/rx_knet.c index 4b2720e..8587b0d 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) {