Issue #2718 has been updated by jeremyevans0 (Jeremy Evans).

File drb-handle-fork-2718.patch added

This issue still occurs in the master branch.  Attached is a patch that fixes it by detecting changes in pid.

----------------------------------------
Bug #2718: DRb mixing up function return values between PIDs after fork()
https://bugs.ruby-lang.org/issues/2718#change-81201

* Author: rhythmx (Sean Bradly)
* Status: Assigned
* Priority: Normal
* Assignee: seki (Masatoshi Seki)
* Target version: 
* ruby -v: 1.9.1,1.8.7
* Backport: 2.5: UNKNOWN, 2.6: UNKNOWN
----------------------------------------
=begin
 The precise details are in the attached test case, but the basic version goes as such: Child pid 1 calls method_a() but gets the return value of method_b() that was called from child pid 2. This only happens if the parent process makes any remote DRb calls before the fork.
 
 This issue showed up for me in 1.9.1 as well as 1.8.7 on x86, but not in x86_64.
=end


---Files--------------------------------
drb_test_case.rb (1.48 KB)
drb-handle-fork-2718.patch (1.73 KB)


-- 
https://bugs.ruby-lang.org/

Unsubscribe: <mailto:ruby-core-request / ruby-lang.org?subject=unsubscribe>
<http://lists.ruby-lang.org/cgi-bin/mailman/options/ruby-core>