X
xuwenduan
Dear All,
When writing an agent to profile a java program using jvmTI, our agent
code needs to implement handler methods(event callback methods) to
handle events that we asked the jvmTI environment to dispatch to our
agent. In the sample agent heapTracker.c in j2sdk demo folder, some
callback functions(specifically, cbVMInit,
cbVMStart, cbVMDeath, cbException), before they do anything on the
received event, they first entered a "raw monitor", while in all the
other callback functions, they do not need to enter the " raw
monitor" .
My questions are:
1. What is a "raw monitor", what does it do,how is it different from
a "monitor"?
2. Why we need to first enter the "raw monitor" for some particular
events?
3.Any reference material on this topic out there on the web?
Thanks in advance
eric
When writing an agent to profile a java program using jvmTI, our agent
code needs to implement handler methods(event callback methods) to
handle events that we asked the jvmTI environment to dispatch to our
agent. In the sample agent heapTracker.c in j2sdk demo folder, some
callback functions(specifically, cbVMInit,
cbVMStart, cbVMDeath, cbException), before they do anything on the
received event, they first entered a "raw monitor", while in all the
other callback functions, they do not need to enter the " raw
monitor" .
My questions are:
1. What is a "raw monitor", what does it do,how is it different from
a "monitor"?
2. Why we need to first enter the "raw monitor" for some particular
events?
3.Any reference material on this topic out there on the web?
Thanks in advance
eric