Hello, after aplying a patch sent by Jean (thanks Jean!) everything seemed to work just fine. Except for one thing. After restarting the stopped thread, with l4_thread_ex_regs, if main() would try to do a getchar() (for instance) the re-started thread would stop ... if I change the getchar() for a for(;;); everyting works just fine.
And theres one more thing, please if someone can tell me if this behaviuor is correct or not, when stopping a thread w/l4_thread_ex_regs lets say we stop it by changing its eip to a func.
always_release() { for(;;) l4_thread_switch(L4_NIL_ID); }
If one were to leave the original esp, when re-starting the original thread, by changing its eip to the original func., all the values contained in the stack were to be clobbered ... now ... is this normal ? should l4_thread_switch() change the values in the stack ? (of course, a workaround to this is to declare a char release_stack[] and use it when stopping the thread as its new stack).
Ciao.
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."