On Mon, 26 Sep 2005 14:32:32 +0200 Rene Wittmann (RW) wrote:
RW> So a call to l4_thread_ex_regs is sufficient and I would cancel the RW> next_period-IPC RW> with: l4_thread_ex_regs(main_thread_id, 0xFFFFFFFF, 0xFFFFFFFF, &id1, &id2, RW> &w1, &w2, &w3)?? RW> (l4_thread_id id1=id2=L4_INVALID_ID, l4_umword_t w1,w2,w3). RW> RW> If it's that simple, it's fine!
Right. Except that in the current Fiasco implementation an IPC will be cancelled only if you explicitly set EIP to something other than 0xffffffff.
This seems like an unneeded restriction to me and I'm currently discussing with our group if this restriction can be removed. I'll send you a patch and commit the change to CVS in that case. Meanwhile you can mimic the desired behavior by setting the EIP of ex_regs to the instruction following the int $0x30 of the l4_next_period call, which is of course quite suboptimal.
-Udo.