From: Chris Schlaeger Date: 2010-03-23T01:29:10+09:00 Subject: [ruby-core:28865] Can DRb be used across a fork() --00151747b104252cf60482663298 Content-Type: text/plain; charset=ISO-8859-1 I'm trying to use DRb to communicate between a parent and child processes. The DRb server is started before I fork-off the children. When I connect back from the child to the parent DRb server, I only seem to talk to a zombie copy of the DRb server in the child. The attached program demonstrates the problem. Is that a bug or is DRb not designed to work across a fork? With current ruby 1.9.2 I get the following output: #ruby19 drb_over_fork.rb 13151: Parent 13155: Child 13155: a: 1 13155: A: 1 13151: A: 0 Chris --00151747b104252cf60482663298 Content-Type: application/x-ruby; name="drb_over_fork.rb" Content-Disposition: attachment; filename="drb_over_fork.rb" Content-Transfer-Encoding: base64 X-Attachment-Id: f_g73hmi180 cmVxdWlyZSAnZHJiJwoKY2xhc3MgRm9vCiAgYXR0cl9yZWFkZXIgOmEKICBkZWYgaW5pdGlhbGl6 ZQogICAgQGEgPSAwCiAgZW5kCgogIGRlZiBpbmMKICAgIEBhICs9IDEKICAgIGRlYnVnICJhOiAj e0BhfSIKICBlbmQKZW5kCgpkZWYgZGVidWcobXNnKQogIHB1dHMgIiN7UHJvY2Vzcy5waWR9OiAj e21zZ30iCmVuZAoKZm9vID0gRm9vLm5ldwp1cmkgPSBEUmIuc3RhcnRfc2VydmljZShuaWwsIGZv bykudXJpCnVubGVzcyAocGlkID0gZm9yaykKICBkZWJ1ZyAnQ2hpbGQnCiAgIyBjaGlsZAogIGZv b19jID0gRFJiT2JqZWN0Lm5ldyhuaWwsIHVyaSkKICAjIFRoaXMgY2FsbCBtb2RpZmllcyBhIGNv cHkgb2YgZm9vIGluIHRoZSBjaGlsZCwgbm90IHRoZSBwYXJlbnQgZm9vIQogIGZvb19jLmluYwpl bHNlCiAgZGVidWcgJ1BhcmVudCcKICBQcm9jZXNzLmRldGFjaChwaWQpCmVuZAoKc2xlZXAoMikK ZGVidWcgIkE6ICN7Zm9vLmF9Igo= --00151747b104252cf60482663298--