fedora core 6 1.2949 + vserver 2.2.0
[linux-2.6.git] / net / rxrpc / krxtimod.c
index 3177157..9a9b613 100644 (file)
@@ -13,6 +13,7 @@
 #include <linux/init.h>
 #include <linux/sched.h>
 #include <linux/completion.h>
+#include <linux/freezer.h>
 #include <rxrpc/rxrpc.h>
 #include <rxrpc/krxtimod.h>
 #include <asm/errno.h>
@@ -24,7 +25,7 @@ static DECLARE_WAIT_QUEUE_HEAD(krxtimod_sleepq);
 static int krxtimod_die;
 
 static LIST_HEAD(krxtimod_list);
-static spinlock_t krxtimod_lock = SPIN_LOCK_UNLOCKED;
+static DEFINE_SPINLOCK(krxtimod_lock);
 
 static int krxtimod(void *arg);
 
@@ -81,7 +82,7 @@ static int krxtimod(void *arg)
 
        for (;;) {
                unsigned long jif;
-               signed long timeout;
+               long timeout;
 
                /* deal with the server being asked to die */
                if (krxtimod_die) {
@@ -90,6 +91,8 @@ static int krxtimod(void *arg)
                        complete_and_exit(&krxtimod_dead, 0);
                }
 
+               try_to_freeze();
+
                /* discard pending signals */
                rxrpc_discard_my_signals();