fedora core 6 1.2949 + vserver 2.2.0
[linux-2.6.git] / net / rxrpc / krxiod.c
index f343237..49effd9 100644 (file)
@@ -13,6 +13,7 @@
 #include <linux/completion.h>
 #include <linux/spinlock.h>
 #include <linux/init.h>
+#include <linux/freezer.h>
 #include <rxrpc/krxiod.h>
 #include <rxrpc/transport.h>
 #include <rxrpc/peer.h>
@@ -25,10 +26,10 @@ static DECLARE_COMPLETION(rxrpc_krxiod_dead);
 static atomic_t rxrpc_krxiod_qcount = ATOMIC_INIT(0);
 
 static LIST_HEAD(rxrpc_krxiod_transportq);
-static spinlock_t rxrpc_krxiod_transportq_lock = SPIN_LOCK_UNLOCKED;
+static DEFINE_SPINLOCK(rxrpc_krxiod_transportq_lock);
 
 static LIST_HEAD(rxrpc_krxiod_callq);
-static spinlock_t rxrpc_krxiod_callq_lock = SPIN_LOCK_UNLOCKED;
+static DEFINE_SPINLOCK(rxrpc_krxiod_callq_lock);
 
 static volatile int rxrpc_krxiod_die;
 
@@ -138,6 +139,8 @@ static int rxrpc_krxiod(void *arg)
 
                _debug("### End Work");
 
+               try_to_freeze();
+
                 /* discard pending signals */
                rxrpc_discard_my_signals();