Robert Kaiser rob@sysgo.de writes:
The question came up while writing a test suite for a microkernel we are currently developing. It's API is not identical, but quite similar to L4's (we would like to run L4Linux on it in the future).
If your kernel's API is similar enough: Is there a chance of releasing your test suite as open source? We probably could adapt it to our implementations, and having a test suite for Fiasco and L4/x86 would be very useful.
I can certainly handle this behavior, but I was just wondering what would be a "clean" design. From what I just learned, there is in fact a difference between a thread being created and a thread being re-started into a new context: In the first case, the thread's scheduling parameters are inherited from the caller, in the latter case, they retain whatever values they had before. So the caller of lthread_ex_regs has to be aware of wether the thread already exists or not.
Yes, that's true. What you proposed earlier in this thread (make it possible to set scheduling parameters for not-yet-existing local threads) seems to be somewhat cleaner, but I think the current behavior isn't very difficult to handle; tasks have to keep track of thread states anyway because they manage the allocation of local thread ids themselves.
Michael