Hello, lets see if I have this thing right.
Lets say that main() creates a thread that will act as a scheduler. We'll call it sched. Now main() creates antoher thread that will have sched as its scheduler. sche() enters an infinite loop with a l4_i386_ipc_wait in it. Of course, it waits for an preemption RPC message.
Now, when creating the second thread (lets call it task) with l4_thread_ex_regs, I put sched to be its preempter, anyway, sched() never gets the IPC and task() runs as if it never had any preempter asociated.
Theres another thing, if inside main we put l4_thread_ex_regs to change task()'s eip and esp to (dword_t) -1 (this would likely stop task()) nothing happens, task() just runs normally.
Any ideas ??
Cheers.
PS: I didnt send any source code because its kind of long and I dont want to bother people w/unsolicited mail ;-), if anyone wants it please email me and ill be happy to send it
Cervi~no Ulises kermit@tower.com.ar ulises@rosario.linux.org.ar ............................................................................... "Contrary to popular opinion, Unix is user friendly, It just happens to be very selective about who it makes friends with."