Commit graph

15 commits

Author SHA1 Message Date
Yusuke Endoh
fb472ca7ad lib/drb/drb.rb: Use ruby2_keywords for keyword separation
[Bug #16634]
2020-02-15 16:27:03 +09:00
Kazuhiro NISHIYAMA
beb59c3b45
Add GC guard
Try to fix infrequent error:

20200108T010004Z.fail.html.gz
```
  1) Error:
DRbTests::TestDRbSSLCore#test_02_basic_object:
RangeError: "348" is recycled object
    (drbssl://localhost:58371) /export/home/users/chkbuild/cb-sunc/tmp/build/20200108T010004Z/ruby/lib/drb/drb.rb:366:in `_id2ref'
    (drbssl://localhost:58371) /export/home/users/chkbuild/cb-sunc/tmp/build/20200108T010004Z/ruby/lib/drb/drb.rb:366:in `to_obj'
    (drbssl://localhost:58371) /export/home/users/chkbuild/cb-sunc/tmp/build/20200108T010004Z/ruby/lib/drb/drb.rb:1537:in `to_obj'
    (drbssl://localhost:58371) /export/home/users/chkbuild/cb-sunc/tmp/build/20200108T010004Z/ruby/lib/drb/drb.rb:1856:in `to_obj'
    (drbssl://localhost:58371) /export/home/users/chkbuild/cb-sunc/tmp/build/20200108T010004Z/ruby/lib/drb/drb.rb:620:in `recv_request'
    (drbssl://localhost:58371) /export/home/users/chkbuild/cb-sunc/tmp/build/20200108T010004Z/ruby/lib/drb/drb.rb:931:in `recv_request'
    (drbssl://localhost:58371) /export/home/users/chkbuild/cb-sunc/tmp/build/20200108T010004Z/ruby/lib/drb/drb.rb:1665:in `init_with_client'
    (drbssl://localhost:58371) /export/home/users/chkbuild/cb-sunc/tmp/build/20200108T010004Z/ruby/lib/drb/drb.rb:1677:in `setup_message'
    (drbssl://localhost:58371) /export/home/users/chkbuild/cb-sunc/tmp/build/20200108T010004Z/ruby/lib/drb/drb.rb:1641:in `perform'
    (drbssl://localhost:58371) /export/home/users/chkbuild/cb-sunc/tmp/build/20200108T010004Z/ruby/lib/drb/drb.rb:1734:in `block (2 levels) in main_loop'
    (drbssl://localhost:58371) /export/home/users/chkbuild/cb-sunc/tmp/build/20200108T010004Z/ruby/lib/drb/drb.rb:1730:in `loop'
    (drbssl://localhost:58371) /export/home/users/chkbuild/cb-sunc/tmp/build/20200108T010004Z/ruby/lib/drb/drb.rb:1730:in `block in main_loop'
    /export/home/users/chkbuild/cb-sunc/tmp/build/20200108T010004Z/ruby/test/drb/drbtest.rb:163:in `test_02_basic_object'
```
2020-01-08 12:26:48 +09:00
Jeremy Evans
d0ed935d5b Fix some DRb issues (#2552)
* Handle BasicObject in drb

Also fix a bug in rescue clause of any_to_s because sprintf
does not handle the %l modifier.

Fixes [Bug #7833]

* Do not send a reply to the client if there is a connection error

This allows for normal TCP shutdown (fin-ack-fin-ack instead of
fin-ack-push-rst).

Patch from pierre@mouraf.org (Pierre-Alexandre Meyer).

Fixes [Bug #2339]

* Detect fork and do not reuse forked connections in drb

This associates each DRbConn with a pid, and if the pid changes,
it closes any DRbConns in the pool with a pid that no longer
matches.  This fixes DRb servers from sending messages intended
for one client to another client after forking.

Fixes [Bug #2718]
Fixes [Bug #14471]
2019-10-14 14:20:32 +09:00
naruse
3e92b635fb Add frozen_string_literal: false for all files
When you change this to true, you may need to add more tests.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@53141 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-12-16 05:07:31 +00:00
nobu
beb1c085d5 use Timeout.timeout
* time: Object#timeout has been deprecated a long time ago, use
  Timeout.timeout.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@51225 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-07-13 10:07:01 +00:00
akr
5cd71131b8 * test/drb: Wrap tests definitions by DRbTests module. This makes
several tests (ACLEntryTest, TestBug4409, etc.) easier to understand
  that they are tests for DRb.



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@46293 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-06-01 03:07:58 +00:00
usa
a9fefe7555 * test/drb/ut_drb.rb: revert a part of r36987, and get rid of a warning
with another method.  if the substitution is removed, the ExtSrv
  object will be GC'ed and some tests will be blocked.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@36995 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-09-20 01:59:52 +00:00
naruse
181815422b suppress warnings
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@36987 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-09-19 14:49:19 +00:00
seki
6763ac5552 use private_methods and protected_methods instead of respond_to? to check
method visibility. [ruby-dev:26616]


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@8872 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2005-07-31 16:19:42 +00:00
seki
940aa83194 use DRbService.ext_service. reduce sleep
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@7717 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2005-01-04 12:25:45 +00:00
seki
a402acbbb6 add DRbRemoteError. [ruby-list:40348], [ruby-list:40390]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@7535 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2004-12-11 12:12:17 +00:00
seki
c12e0136dc use druby://localhost:0, [ruby-dev:23078]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@5946 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2004-03-13 05:58:00 +00:00
seki
1eb2a60a3d add test Hash#each, and change load_limit
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@4868 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2003-10-30 13:30:48 +00:00
matz
06d9340f2e * eval.c (ruby_cleanup): call finalizers and exit procs before
terminating threads.

* eval.c (ruby_cleanup): preserve ruby_errinfo before ruby_finalize_0().


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@4826 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2003-10-21 14:42:15 +00:00
seki
bc867112ec import drb/runit/*.rb
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@4815 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2003-10-20 15:24:00 +00:00