--- vsock-only/linux/af_vsock.c 2009-03-27 06:34:32.000000000 +0100 +++ vsock-only/linux/af_vsock.c.new 2010-05-31 16:01:34.828802611 +0200 @@ -3149,7 +3149,11 @@ * a notification of an error. */ timeout = sock_sndtimeo(sk, flags & O_NONBLOCK); +#if LINUX_VERSION_CODE < KERNEL_VERSION(2, 6, 34) compat_init_prepare_to_wait(sk->compat_sk_sleep, &wait, TASK_INTERRUPTIBLE); +#else + compat_init_prepare_to_wait(sk_sleep(sk), &wait, TASK_INTERRUPTIBLE); +#endif while (sk->compat_sk_state != SS_CONNECTED && sk->compat_sk_err == 0) { if (timeout == 0) { @@ -3172,7 +3176,11 @@ goto outWaitError; } +#if LINUX_VERSION_CODE < KERNEL_VERSION(2, 6, 34) compat_cont_prepare_to_wait(sk->compat_sk_sleep, &wait, TASK_INTERRUPTIBLE); +#else + compat_cont_prepare_to_wait(sk_sleep(sk), &wait, TASK_INTERRUPTIBLE); +#endif } if (sk->compat_sk_err) { @@ -3184,7 +3192,11 @@ } outWait: +#if LINUX_VERSION_CODE < KERNEL_VERSION(2, 6, 34) compat_finish_wait(sk->compat_sk_sleep, &wait, TASK_RUNNING); +#else + compat_finish_wait(sk_sleep(sk), &wait, TASK_RUNNING); +#endif out: release_sock(sk); return err; @@ -3244,7 +3256,11 @@ * upon connection establishment. */ timeout = sock_sndtimeo(listener, flags & O_NONBLOCK); +#if LINUX_VERSION_CODE < KERNEL_VERSION(2, 6, 34) compat_init_prepare_to_wait(listener->compat_sk_sleep, &wait, TASK_INTERRUPTIBLE); +#else + compat_init_prepare_to_wait(sk_sleep(listener), &wait, TASK_INTERRUPTIBLE); +#endif while ((connected = VSockVmciDequeueAccept(listener)) == NULL && listener->compat_sk_err == 0) { @@ -3260,7 +3276,11 @@ goto outWait; } +#if LINUX_VERSION_CODE < KERNEL_VERSION(2, 6, 34) compat_cont_prepare_to_wait(listener->compat_sk_sleep, &wait, TASK_INTERRUPTIBLE); +#else + compat_cont_prepare_to_wait(sk_sleep(listener), &wait, TASK_INTERRUPTIBLE); +#endif } if (listener->compat_sk_err) { @@ -3294,7 +3314,11 @@ } outWait: +#if LINUX_VERSION_CODE < KERNEL_VERSION(2, 6, 34) compat_finish_wait(listener->compat_sk_sleep, &wait, TASK_RUNNING); +#else + compat_finish_wait(sk_sleep(listener), &wait, TASK_RUNNING); +#endif out: release_sock(listener); return err; @@ -3391,7 +3415,11 @@ sk = sock->sk; +#if LINUX_VERSION_CODE < KERNEL_VERSION(2, 6, 34) poll_wait(file, sk->compat_sk_sleep, wait); +#else + poll_wait(file, sk_sleep(sk), wait); +#endif mask = 0; if (sk->compat_sk_err) { @@ -3992,7 +4020,11 @@ * Wait for room in the produce queue to enqueue our user's data. */ timeout = sock_sndtimeo(sk, msg->msg_flags & MSG_DONTWAIT); +#if LINUX_VERSION_CODE < KERNEL_VERSION(2, 6, 34) compat_init_prepare_to_wait(sk->compat_sk_sleep, &wait, TASK_INTERRUPTIBLE); +#else + compat_init_prepare_to_wait(sk_sleep(sk), &wait, TASK_INTERRUPTIBLE); +#endif while (totalWritten < len) { Bool sentWrote; @@ -4031,8 +4063,13 @@ goto outWait; } +#if LINUX_VERSION_CODE < KERNEL_VERSION(2, 6, 34) compat_cont_prepare_to_wait(sk->compat_sk_sleep, &wait, TASK_INTERRUPTIBLE); +#else + compat_cont_prepare_to_wait(sk_sleep(sk), + &wait, TASK_INTERRUPTIBLE); +#endif } /* @@ -4114,7 +4151,11 @@ if (totalWritten > 0) { err = totalWritten; } +#if LINUX_VERSION_CODE < KERNEL_VERSION(2, 6, 34) compat_finish_wait(sk->compat_sk_sleep, &wait, TASK_RUNNING); +#else + compat_finish_wait(sk_sleep(sk), &wait, TASK_RUNNING); +#endif out: release_sock(sk); return err; @@ -4337,7 +4378,11 @@ timeout = sock_rcvtimeo(sk, flags & MSG_DONTWAIT); copied = 0; +#if LINUX_VERSION_CODE < KERNEL_VERSION(2, 6, 34) compat_init_prepare_to_wait(sk->compat_sk_sleep, &wait, TASK_INTERRUPTIBLE); +#else + compat_init_prepare_to_wait(sk_sleep(sk), &wait, TASK_INTERRUPTIBLE); +#endif while ((ready = VMCIQueue_BufReady(vsk->consumeQ, vsk->produceQ, @@ -4380,7 +4425,11 @@ goto outWait; } +#if LINUX_VERSION_CODE < KERNEL_VERSION(2, 6, 34) compat_cont_prepare_to_wait(sk->compat_sk_sleep, &wait, TASK_INTERRUPTIBLE); +#else + compat_cont_prepare_to_wait(sk_sleep(sk), &wait, TASK_INTERRUPTIBLE); +#endif } if (sk->compat_sk_err) { @@ -4472,7 +4521,11 @@ err = copied; outWait: +#if LINUX_VERSION_CODE < KERNEL_VERSION(2, 6, 34) compat_finish_wait(sk->compat_sk_sleep, &wait, TASK_RUNNING); +#else + compat_finish_wait(sk_sleep(sk), &wait, TASK_RUNNING); +#endif out: release_sock(sk); return err;