-
-
Save headius/40ed4a4435e0a4e0ba44 to your computer and use it in GitHub Desktop.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
diff --git a/core/src/main/java/org/jruby/ext/fiber/ThreadFiber.java b/core/src/main/java/org/jruby/ext/fiber/ThreadFiber.java | |
index a33c89b..999425b 100644 | |
--- a/core/src/main/java/org/jruby/ext/fiber/ThreadFiber.java | |
+++ b/core/src/main/java/org/jruby/ext/fiber/ThreadFiber.java | |
@@ -179,7 +179,7 @@ public class ThreadFiber extends RubyObject implements ExecutionContext { | |
static RubyThread createThread(final Ruby runtime, final FiberData data, final SizedQueue queue, final Block block) { | |
final AtomicReference<RubyThread> fiberThread = new AtomicReference(); | |
- Thread thread = new Thread() { | |
+ runtime.getExecutor().execute(new Runnable() { | |
public void run() { | |
ThreadContext context = runtime.getCurrentContext(); | |
context.setFiber(data.fiber.get()); | |
@@ -212,12 +212,13 @@ public class ThreadFiber extends RubyObject implements ExecutionContext { | |
} | |
} finally { | |
data.queue.shutdown(); | |
+ runtime.getThreadService().disposeCurrentThread(); | |
} | |
} | |
- }; | |
- thread.setDaemon(true); | |
- thread.setName("FiberThread#" + data.fiber.get().id()); | |
- thread.start(); | |
+ }); | |
+// thread.setDaemon(true); | |
+// thread.setName("FiberThread#" + data.fiber.get().id()); | |
+// thread.start(); | |
while (fiberThread.get() == null) {} | |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment