X-Git-Url: http://git.onelab.eu/?a=blobdiff_plain;f=net%2Frxrpc%2Fkrxtimod.c;h=9a9b6132dba4840755e84a17e286a0b9da161996;hb=refs%2Fheads%2Fvserver;hp=31771577c5bbf80e1532baa80ee296d3f1162402;hpb=5273a3df6485dc2ad6aa7ddd441b9a21970f003b;p=linux-2.6.git diff --git a/net/rxrpc/krxtimod.c b/net/rxrpc/krxtimod.c index 31771577c..9a9b6132d 100644 --- a/net/rxrpc/krxtimod.c +++ b/net/rxrpc/krxtimod.c @@ -13,6 +13,7 @@ #include #include #include +#include #include #include #include @@ -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();