File tree Expand file tree Collapse file tree 3 files changed +8
-10
lines changed
src/main/java/org/truffleruby/core Expand file tree Collapse file tree 3 files changed +8
-10
lines changed Original file line number Diff line number Diff line change 7
7
{
8
8
"name" : "regex" ,
9
9
"subdir" : True ,
10
- "version" : "f99631396f42d8f1b8850cf5efc34f136cdef8ff " ,
10
+ "version" : "e9ddfb90978a31231e16aae7880c3d2b57a63ea3 " ,
11
11
"urls" : [
12
12
{"url" : "https://github.com/oracle/graal.git" , "kind" : "git" },
13
13
{"url" : "https://curio.ssw.jku.at/nexus/content/repositories/snapshots" , "kind" : "binary" },
16
16
{
17
17
"name" : "sulong" ,
18
18
"subdir" : True ,
19
- "version" : "f99631396f42d8f1b8850cf5efc34f136cdef8ff " ,
19
+ "version" : "e9ddfb90978a31231e16aae7880c3d2b57a63ea3 " ,
20
20
"urls" : [
21
21
{"url" : "https://github.com/oracle/graal.git" , "kind" : "git" },
22
22
{"url" : "https://curio.ssw.jku.at/nexus/content/repositories/snapshots" , "kind" : "binary" },
Original file line number Diff line number Diff line change @@ -316,9 +316,8 @@ public void start(RubyFiber fiber, Thread javaThread) {
316
316
317
317
if (Thread .currentThread () == javaThread ) {
318
318
context .getThreadManager ().rubyFiber .set (fiber );
319
- }
320
- if (!threadManager .isRubyManagedThread (javaThread )) {
321
- context .getThreadManager ().rubyFiberForeignMap .put (javaThread , fiber );
319
+ } else {
320
+ context .getThreadManager ().javaThreadToRubyFiber .put (javaThread , fiber );
322
321
}
323
322
324
323
fiber .thread = javaThread ;
@@ -345,7 +344,7 @@ public void cleanup(RubyFiber fiber, Thread javaThread) {
345
344
if (Thread .currentThread () == javaThread ) {
346
345
threadManager .rubyFiber .remove ();
347
346
}
348
- threadManager .rubyFiberForeignMap .remove (javaThread );
347
+ threadManager .javaThreadToRubyFiber .remove (javaThread );
349
348
350
349
fiber .finishedLatch .countDown ();
351
350
}
Original file line number Diff line number Diff line change @@ -77,11 +77,12 @@ public class ThreadManager {
77
77
78
78
private final Set <RubyThread > runningRubyThreads = Collections .newSetFromMap (new ConcurrentHashMap <>());
79
79
80
+ /** The set of Java threads TruffleRuby created, and is responsible to exit in {@link #killAndWaitOtherThreads()} */
80
81
private final Set <Thread > rubyManagedThreads = Collections .newSetFromMap (new ConcurrentHashMap <>());
81
82
82
- public final Map <Thread , RubyFiber > rubyFiberForeignMap = new ConcurrentHashMap <>();
83
+ public final Map <Thread , RubyFiber > javaThreadToRubyFiber = new ConcurrentHashMap <>();
83
84
public final ThreadLocal <RubyFiber > rubyFiber = ThreadLocal
84
- .withInitial (() -> rubyFiberForeignMap .get (Thread .currentThread ()));
85
+ .withInitial (() -> javaThreadToRubyFiber .get (Thread .currentThread ()));
85
86
86
87
private boolean nativeInterrupt ;
87
88
private Timer nativeInterruptTimer ;
@@ -116,13 +117,11 @@ public void dispose() {
116
117
117
118
public void initializeMainThread (Thread mainJavaThread ) {
118
119
rootJavaThread = mainJavaThread ;
119
- rubyManagedThreads .add (rootJavaThread );
120
120
start (rootThread , rootJavaThread );
121
121
}
122
122
123
123
public void resetMainThread () {
124
124
cleanup (rootThread , rootJavaThread );
125
- rubyManagedThreads .remove (rootJavaThread );
126
125
rootJavaThread = null ;
127
126
}
128
127
You can’t perform that action at this time.
0 commit comments