Thread IDs
Stefan Kalkowski
stefan.kalkowski at ...1...
Tue Jan 19 10:36:12 CET 2010
Hi Peter,
On Tuesday, 19. January 2010 06:30:22 Peter Nguyen wrote:
> Hi,
>
> So I've done some more messing around with genode (running on top of OKL4),
> more specifically creating some threads, and testing the functionality in
> general. I'm wondering how i can go about obtaining the thread's ID and
> printing it out. I've noticed that there are functions that are within the
> Thread class that can get me a Native_thread_id, but currently I can't seem
> to do much with it.
>
> Speaking of the native thread, is that type related to L4? Can I actually
> get a numerical value for that ID?
that's right, 'Native_thread_id' is the platform-specific thread
representation, so in the OKL4-case it is 'L4_ThreadId_t' indeed. The
kernel-specific thread id in Genode/OKL4 is a member of 'Thread_state' a
thread property, that can be obtained via the cpu-session interface.
Although, it is recommended to use only generic Genode abstractions to stay
platform-independent, if you've to deal with the kernel-api directly, you
might use the cpu-session interface to gain some platform-specific thread
data within 'Thread_state'.
Here is some example code, printing all OKL4 thread IDs of one cpu-session:
int i;
Genode::Thread_state state;
Genode::Thread_capability tcap = Genode::env()->cpu_session()->first();
while(tcap.valid())
{
Genode::env()->cpu_session()->state(tcap, &state);
PDBG("tid of thread no. %d is %lx", i, state.tid.raw);
tcap = Genode::env()->cpu_session()->next(tcap);
++i;
}
Thereby, the order of the threads given by cpu-session's iterator isn't
necessarily the order of the thread's creation time!
Regards
Stefan
>
> Peter
>
> ---------------------------------------------------------------------------
>--- Throughout its 18-year history, RSA Conference consistently attracts the
> world's best and brightest in the field, creating opportunities for
> Conference attendees to learn about information security's most important
> issues through interactions with peers, luminaries and emerging and
> established companies. http://p.sf.net/sfu/rsaconf-dev2dev
> _______________________________________________
> Genode-main mailing list
> Genode-main at lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/genode-main
--
Stefan Kalkowski
Genode Labs Developer
http://genode-labs.com
More information about the users
mailing list