OK, I tried to stop it with 'kill -STOP', but it didn't. So I've added
some printk() to fs/buffer.c to verify this (see below). It never
goes in the 'else' block, and I don't get the 'kupdate() stopped'
message. To make sure I tried all signals (1..29) but no luck. So
something else must be wrong.
Cheers, Peter.
int kupdate(void * unused)
...
for (;;) {
interval = bdf_prm.b_un.interval;
if (interval)
{
printk("kupdate() interval %d\n", interval);
tsk->state = TASK_INTERRUPTIBLE;
schedule_timeout(interval);
printk("kupdate() returned from schedule_timeout\n");
}
else
{
tsk->state = TASK_STOPPED;
printk("kupdate() stopped\n");
schedule(); /* wait for SIGCONT */
}
printk("kupdate() activated...\n");
sync_old_buffers();
}
}
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.rutgers.edu
Please read the FAQ at http://www.tux.org/lkml/