typedef struct afs_kcondvar {
int seq;
-#if defined(AFS_LINUX24_ENV)
wait_queue_head_t waitq;
-#else
- struct wait_queue *waitq;
-#endif
} afs_kcondvar_t;
static inline int
#define MUTEX_TRYENTER afs_mutex_tryenter
#define MUTEX_EXIT afs_mutex_exit
-#if defined(AFS_LINUX24_ENV)
#define CV_INIT(cv,b,c,d) do { (cv)->seq = 0; init_waitqueue_head(&(cv)->waitq); } while (0)
-#else
-#define CV_INIT(cv,b,c,d) do { (cv)->seq = 0; init_waitqueue(&(cv)->waitq); } while (0)
-#endif
#define CV_DESTROY(cv)
#define CV_WAIT_SIG(cv, m) afs_cv_wait(cv, m, 1)
#define CV_WAIT(cv, m) afs_cv_wait(cv, m, 0)
#define CV_TIMEDWAIT afs_cv_timedwait
#define CV_SIGNAL(cv) do { ++(cv)->seq; wake_up(&(cv)->waitq); } while (0)
-#if defined(AFS_LINUX24_ENV)
#define CV_BROADCAST(cv) do { ++(cv)->seq; wake_up_all(&(cv)->waitq); } while (0)
-#else
-#define CV_BROADCAST(cv) do { ++(cv)->seq; wake_up(&(cv)->waitq); } while (0)
-#endif
#endif /* RX_KMUTEX_H_ */
#include <linux/version.h>
-#ifdef AFS_LINUX22_ENV
#include "rx/rx_kcommon.h"
-#if defined(AFS_LINUX24_ENV)
#include "h/smp_lock.h"
-#endif
#include <asm/uaccess.h>
#ifdef ADAPT_PMTU
#include <linux/errqueue.h>
sockp->ops->bind(sockp, (struct sockaddr *)&myaddr, sizeof(myaddr));
if (code < 0) {
-#if defined(AFS_LINUX24_ENV)
printk("sock_release(rx_socket) FIXME\n");
-#else
- sock_release(sockp);
-#endif
return NULL;
}
TO_KERNEL_SPACE();
if (code < 0) {
-#ifdef AFS_LINUX26_ENV
#ifdef CONFIG_PM
if (
-#ifdef PF_FREEZE
+# ifdef PF_FREEZE
current->flags & PF_FREEZE
-#else
-#if defined(STRUCT_TASK_STRUCT_HAS_TODO)
+# else
+# if defined(STRUCT_TASK_STRUCT_HAS_TODO)
!current->todo
-#else
-#if defined(STRUCT_TASK_STRUCT_HAS_THREAD_INFO)
+# else
+# if defined(STRUCT_TASK_STRUCT_HAS_THREAD_INFO)
test_ti_thread_flag(current->thread_info, TIF_FREEZE)
-#else
+# else
test_ti_thread_flag(task_thread_info(current), TIF_FREEZE)
-#endif
-#endif
-#endif
+# endif
+# endif
+# endif
)
-#ifdef LINUX_REFRIGERATOR_TAKES_PF_FREEZE
+# ifdef LINUX_REFRIGERATOR_TAKES_PF_FREEZE
refrigerator(PF_FREEZE);
-#else
+# else
refrigerator();
-#endif
+# endif
set_current_state(TASK_INTERRUPTIBLE);
#endif
-#endif
/* Clear the error before using the socket again.
* Oh joy, Linux has hidden header files as well. It appears we can
* simply call again and have it clear itself via sock_error().
*/
-#ifdef AFS_LINUX22_ENV
flush_signals(current); /* We don't want no stinkin' signals. */
-#else
- current->signal = 0; /* We don't want no stinkin' signals. */
-#endif
rxk_lastSocketError = code;
rxk_nSocketErrors++;
} else {
return code;
}
-#ifdef EXPORTED_TASKLIST_LOCK
-extern rwlock_t tasklist_lock __attribute__((weak));
-#endif
+
void
osi_StopListener(void)
{
rx_socket = NULL;
}
-#endif /* AFS_LINUX22_ENV */