1# 2# fork.rb - 3# $Release Version: 0.9.6 $ 4# $Revision: 38358 $ 5# by Keiju ISHITSUKA(keiju@ruby-lang.org) 6# 7# -- 8# 9# 10# 11 12@RCS_ID='-$Id: fork.rb 38358 2012-12-13 05:22:30Z zzak $-' 13 14# :stopdoc: 15module IRB 16 module ExtendCommand 17 class Fork<Nop 18 def execute 19 pid = send ExtendCommand.irb_original_method_name("fork") 20 unless pid 21 class << self 22 alias_method :exit, ExtendCommand.irb_original_method_name('exit') 23 end 24 if iterator? 25 begin 26 yield 27 ensure 28 exit 29 end 30 end 31 end 32 pid 33 end 34 end 35 end 36end 37# :startdoc: 38 39 40