Messages in this thread | | | Date | Wed, 18 Oct 2006 00:56:03 +0200 | From | Hagen Paul Pfeifer <> | Subject | Re: stopping a process during a timer interrupt |
| |
* Kay Tiong Khoo | 2006-10-17 18:18:25 [+0800]:
>On a timer interrupt, I tried to stop the current process by changing >it's run state to TASK_STOPPED via set_current_state(TASK_STOPPED). >However, this results in a system hang. > >I can't find a way to stop the current process during an interrupt >context. Does such code exist in the kernel? If not, how does one go >about implementing it from within a kernel module.
Take a look at some driver implementations! There you will find some ways how to put a process into a sleep state.
Grep for "*->state*TASK_UNINTERRUPTIBLE" and take also a look at the interaction with schedule() and spinlocks.
>Thanks. >Kay Tiong
Best regards
-- Hagen Pfeifer - 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/
| |