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