Hi Daniel,

If use truss on an oracle process. we could see something like the following, so semtimedop should be a syscall

22459/1: semtimedop(9, 0xFFFFFD7FFFDFE648, 1, 0xFFFFFD7FFFDFE488) EAGAIN
22459/1:         semnum=15    semop=-1    semflg=0
22459/1:         timeout: 2.060000000 sec



but the following command shows nothing. How can I trace semtimedop using dtrace ?
 dtrace -l|grep semtimedop

Unfortunately you are going to have to deal with a bit more
syscall implementation than you should have to with SYS-V
semphore operations. Under the covers a semtimedop(2) is a
sub-operation for the undocumented semsys call. The case you
are dealing with here is actually documented in the user guide:

http://wikis.sun.com/display/DTrace/syscall+Provider

Simply do something like:

syscall::semsys:entry
/arg0 == 4/
{
   /* SEMTIMEDOP */
}

There is a piece of work we're thinking of doing to improve
this situation but it would be a non-trivial undertaking.

Jon.
_______________________________________________
dtrace-discuss mailing list
dtrace-discuss@opensolaris.org

Reply via email to