Index: /trunk/src/VBox/Runtime/r0drv/linux/thread2-r0drv-linux.c
===================================================================
--- /trunk/src/VBox/Runtime/r0drv/linux/thread2-r0drv-linux.c	(revision 19911)
+++ /trunk/src/VBox/Runtime/r0drv/linux/thread2-r0drv-linux.c	(revision 19912)
@@ -57,9 +57,16 @@
 RTDECL(bool) RTThreadPreemptIsPending(RTTHREAD hThread)
 {
-# if LINUX_VERSION_CODE >= KERNEL_VERSION(2, 5, 4)
+    Assert(hThread == NIL_RTTHREAD);
+#if LINUX_VERSION_CODE >= KERNEL_VERSION(2, 5, 4)
     return test_tsk_thread_flag(current, TIF_NEED_RESCHED);
+
+#elif LINUX_VERSION_CODE >= KERNEL_VERSION(2, 4, 20)
+    return need_resched();
+
+#elif LINUX_VERSION_CODE >= KERNEL_VERSION(2, 1, 110)
+    return current->need_resched != 0;
+
 #else
-    /** @todo get back to this if it matters. */
-    return false;
+    return need_resched != 0;
 #endif
 }
