Messages in this thread | | | Subject | Re: [PATCH] remove sleep_on from sunrpc | From | Peter Osterlund <> | Date | 18 Jan 2004 02:45:36 +0100 |
| |
Manfred Spraul <manfred@colorfullife.com> writes:
> - while (rpciod_pid) { > + add_wait_queue(&rpciod_killer, &wait); > + for (;;) { > + set_current_state(TASK_INTERRUPTIBLE); > + if (rpciod_pid == 0) > + break; > dprintk("rpciod_down: waiting for pid %d to exit\n", rpciod_pid); > if (signalled()) { > dprintk("rpciod_down: caught signal\n"); > break; > } > - interruptible_sleep_on(&rpciod_killer); > + schedule(); > } > - spin_lock_irqsave(¤t->sighand->siglock, flags); > + remove_wait_queue(&rpciod_killer, &wait); > + spin_lock_irq(¤t->sighand->siglock); > recalc_sigpending(); > - spin_unlock_irqrestore(¤t->sighand->siglock, flags); > + spin_unlock_irq(¤t->sighand->siglock); > out: > up(&rpciod_sema); > }
Aren't you forgetting to set_current_state(TASK_RUNNING) after the loop?
-- Peter Osterlund - petero2@telia.com http://w1.894.telia.com/~u89404340 - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
| |