You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: espresso/src/com.oracle.truffle.espresso.mokapot/include/graal_isolate_dynamic.h
+10Lines changed: 10 additions & 0 deletions
Original file line number
Diff line number
Diff line change
@@ -127,6 +127,11 @@ typedef int (*graal_detach_thread_fn_t)(graal_isolatethread_t* thread);
127
127
* waiting for any attached threads to detach from it, then discards its objects,
128
128
* threads, and any other state or context that is associated with it.
129
129
* Returns 0 on success, or a non-zero value on failure.
130
+
*
131
+
* If this call blocks indefinitely, this means there are still Java threads running which do not terminate after receiving the Thread.interrupt() event.
132
+
* To prevent indefinite blocking, these threads should be cooperatively shut down within Java before invoking this call.
133
+
* To diagnose such issues, use the option '-R:TearDownWarningSeconds=<secs>' to detect the threads that are still running.
134
+
* This will print the stack traces of all threads that block tear-down.
@@ -141,6 +146,11 @@ typedef int (*graal_tear_down_isolate_fn_t)(graal_isolatethread_t* isolateThread
141
146
* Java code at the time when this function is called or at any point in the future
142
147
* or this will cause entirely undefined (and likely fatal) behavior.
143
148
* Returns 0 on success, or a non-zero value on (non-fatal) failure.
149
+
*
150
+
* If this call blocks indefinitely, this means there are still Java threads running which do not terminate after receiving the Thread.interrupt() event.
151
+
* To prevent indefinite blocking, these threads should be cooperatively shut down within Java before invoking this call.
152
+
* To diagnose such issues, use the option '-R:TearDownWarningSeconds=<secs>' to detect the threads that are still running.
153
+
* This will print the stack traces of all threads that block tear-down.
publicstaticfinalStringTEAR_DOWN_WARNING_NANOS_ERROR = "Can't set both TearDownWarningSeconds and TearDownWarningNanos at the same time. Use TearDownWarningSeconds.";
615
+
@Option(help = "The number of nanoseconds before and between which tearing down an isolate gives a warning message. 0 implies no warning.", //
@Option(help = "The number of nanoseconds before tearing down an isolate gives a failure message and returns from a tear-down call. 0 implies no message.", //
622
+
deprecated = true, deprecationMessage = "This call leaks resources. Instead, terminate java threads cooperatively, or use System#exit")//
0 commit comments