Try this.<br>syscall(SYS_gettid);<br><br>This should return the value of task_struct-&gt;pid<br><br>Regards,<br>Prabhu<br><br><br><br><div class="gmail_quote">On Wed, Dec 29, 2010 at 11:00 PM, CP YEH <span dir="ltr">&lt;<a href="mailto:ntdev74@gmail.com">ntdev74@gmail.com</a>&gt;</span> wrote:<br>
<blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">Hi,<br>
<br>
I would like to know if I can obtain thread id of calling thread. Let<br>
me clarify what I mean by this.<br>
<br>
First, here is task_struct from linux kernel code.<br>
<br>
struct task_struct {<br>
       struct list_head tasks;<br>
       pid_t pid;<br>
       pid_t tgid;<br>
       struct task_struct *group_leader;  /* threadgroup leader */<br>
       struct list_head thread_group;<br>
};<br>
<br>
I understand that getpid returns tgid and gettid via __NR_gettid<br>
returns tid but according to manpage, it seems to me that it is same<br>
as what I get from getpid().<br>
<br>
Man page of gettid:<br>
       gettid() returns the thread ID of the current process.  This is<br>
equal to the<br>
       process ID (as returned by getpid(2)), unless  the  process  is<br>
 part  of  a<br>
       thread  group<br>
<br>
However, I would like to obtain pid of task_struct. Is there any way I<br>
can get that information?<br>
Thank you.<br>
<br>
YEH<br>
<br>
_______________________________________________<br>
Kernelnewbies mailing list<br>
<a href="mailto:Kernelnewbies@kernelnewbies.org">Kernelnewbies@kernelnewbies.org</a><br>
<a href="http://lists.kernelnewbies.org/mailman/listinfo/kernelnewbies" target="_blank">http://lists.kernelnewbies.org/mailman/listinfo/kernelnewbies</a><br>
</blockquote></div><br>