https://redmine.ruby-lang.org/https://redmine.ruby-lang.org/favicon.ico?17113305112019-08-27T18:21:36ZRuby Issue Tracking SystemRuby master - Bug #14471: DRb mixing up function return values between PIDs after fork()https://redmine.ruby-lang.org/issues/14471?journal_id=811992019-08-27T18:21:36Zjeremyevans0 (Jeremy Evans)merch-redmine@jeremyevans.net
<ul><li><strong>Is duplicate of</strong> <i><a class="issue tracker-1 status-5 priority-4 priority-default closed" href="/issues/2718">Bug #2718</a>: DRb mixing up function return values between PIDs after fork()</i> added</li></ul> Ruby master - Bug #14471: DRb mixing up function return values between PIDs after fork()https://redmine.ruby-lang.org/issues/14471?journal_id=820162019-10-14T05:20:56Zjeremyevans (Jeremy Evans)code@jeremyevans.net
<ul><li><strong>Status</strong> changed from <i>Open</i> to <i>Closed</i></li></ul><p>Applied in changeset <a class="changeset" title="Fix some DRb issues (#2552) * Handle BasicObject in drb Also fix a bug in rescue clause of any_..." href="https://redmine.ruby-lang.org/projects/ruby-master/repository/git/revisions/d0ed935d5bf8c3fce9800742a36e44fb7f63dda4">git|d0ed935d5bf8c3fce9800742a36e44fb7f63dda4</a>.</p>
<hr>
<p>Fix some DRb issues (<a class="issue tracker-1 status-5 priority-4 priority-default closed" title="Bug: HOME 変数を空にして起動すると、再度空にできなくなる (Closed)" href="https://redmine.ruby-lang.org/issues/2552">#2552</a>)</p>
<ul>
<li>Handle BasicObject in drb</li>
</ul>
<p>Also fix a bug in rescue clause of any_to_s because sprintf<br>
does not handle the %l modifier.</p>
<p>Fixes [Bug <a class="issue tracker-1 status-5 priority-4 priority-default closed" title="Bug: DRb has problems with BasicObject (Closed)" href="https://redmine.ruby-lang.org/issues/7833">#7833</a>]</p>
<ul>
<li>Do not send a reply to the client if there is a connection error</li>
</ul>
<p>This allows for normal TCP shutdown (fin-ack-fin-ack instead of<br>
fin-ack-push-rst).</p>
<p>Patch from <a href="mailto:pierre@mouraf.org" class="email">pierre@mouraf.org</a> (Pierre-Alexandre Meyer).</p>
<p>Fixes [Bug <a class="issue tracker-1 status-5 priority-4 priority-default closed" title="Bug: DRb leaves connections half-open (Closed)" href="https://redmine.ruby-lang.org/issues/2339">#2339</a>]</p>
<ul>
<li>Detect fork and do not reuse forked connections in drb</li>
</ul>
<p>This associates each DRbConn with a pid, and if the pid changes,<br>
it closes any DRbConns in the pool with a pid that no longer<br>
matches. This fixes DRb servers from sending messages intended<br>
for one client to another client after forking.</p>
<p>Fixes [Bug <a class="issue tracker-1 status-5 priority-4 priority-default closed" title="Bug: DRb mixing up function return values between PIDs after fork() (Closed)" href="https://redmine.ruby-lang.org/issues/2718">#2718</a>]<br>
Fixes [Bug <a class="issue tracker-1 status-5 priority-4 priority-default closed" title="Bug: DRb mixing up function return values between PIDs after fork() (Closed)" href="https://redmine.ruby-lang.org/issues/14471">#14471</a>]</p>