[okl4-developer] Thread ids and caps in OKL4 2.1
Geoffrey Lee
glee at ok-labs.com
Wed Jul 9 19:19:52 EST 2008
On Wed, Jul 09, 2008 at 05:45:02PM +1000, Joshua Root wrote:
> Geoffrey Lee wrote:
Josh -
>>>
>>> * Does the root server need to explicitly create caps in the root
>>> clist before it can IPC other threads? If so, how is this done?
>>> (L4_CreateIpcCap()'s description seems to indicate that it actually
>>> just copies an existing cap between clists?)
>
> ^ No insights on this?
I must have overlooked this. No, I don't think there is any special
setup required to communicate between threads.
>
>> Can you please let us know more about the operation that you are trying
>> to perform? Is obtaining the thread identifier
>> for debugging purposes, or is there some other need for it?
>
> Debugging purposes, and message dispatch. The skeleton OS is very simple
> (read: broken) and doesn't have separate server threads for different
> things.
Threads which you create dynamically will return a valid id that
you can use in an Ipc() call. In Iguana, you would do something
like thread_l4tid(env_thread(iguana_getenv("MAIN"))); to get your
own identifier, which other threads can use to initiate communication
with you. While you probably can't completely leverage the existing
Iguana code, it shouldn't be too hard to re-use most of the code to
do what you want. Note that L4_Myself() does not return a global
identifier anymore, so you cannot rely on that to get an identifier.
>
> - Josh
-gl
More information about the Developer
mailing list