aboutsummaryrefslogtreecommitdiffstats
path: root/lib/irb/ext/multi-irb.rb
diff options
context:
space:
mode:
Diffstat (limited to 'lib/irb/ext/multi-irb.rb')
-rw-r--r--lib/irb/ext/multi-irb.rb14
1 files changed, 8 insertions, 6 deletions
diff --git a/lib/irb/ext/multi-irb.rb b/lib/irb/ext/multi-irb.rb
index 7bb1a7cfab..0152d38ffd 100644
--- a/lib/irb/ext/multi-irb.rb
+++ b/lib/irb/ext/multi-irb.rb
@@ -172,12 +172,14 @@ module IRB
ensure
unless system_exit
@JobManager.delete(irb)
- if parent_thread.alive?
- @JobManager.current_job = @JobManager.irb(parent_thread)
- parent_thread.run
- else
- @JobManager.current_job = @JobManager.main_irb
- @JobManager.main_thread.run
+ if @JobManager.current_job == irb
+ if parent_thread.alive?
+ @JobManager.current_job = @JobManager.irb(parent_thread)
+ parent_thread.run
+ else
+ @JobManager.current_job = @JobManager.main_irb
+ @JobManager.main_thread.run
+ end
end
end
end