| | 254 | end |
|---|
| | 255 | |
|---|
| | 256 | # fork_reactor forks a new process and calls EM#run inside of it, passing your block. |
|---|
| | 257 | #-- |
|---|
| | 258 | # This implementation is subject to change, especially if we clean up the relationship |
|---|
| | 259 | # of EM#run to @reactor_running. |
|---|
| | 260 | # Original patch by Aman Gupta. |
|---|
| | 261 | # |
|---|
| | 262 | def EventMachine::fork_reactor &block |
|---|
| | 263 | Kernel.fork do |
|---|
| | 264 | if self.reactor_running? |
|---|
| | 265 | self.stop_event_loop |
|---|
| | 266 | self.release_machine |
|---|
| | 267 | self.instance_variable_set( '@reactor_running', false ) |
|---|
| | 268 | end |
|---|
| | 269 | self.run block |
|---|
| | 270 | end |
|---|