On 30/04/07, ara.t.howard / noaa.gov <ara.t.howard / noaa.gov> wrote:
> i reccomend trying to using slave.rb if you can - of course, as the author,
> i'm biased.  it's really tricky connecting parent/child drb processes: the key
> is that you cannot carry the drb objects across the fork, you must setup each
> new drb object in the child and arrange for the parent to find it.  this, as
> ezra mentions, exactly what slave does.  if you have examle code we can
> suggest how to plug slave into it.

Hi Ara,

In my code I used fork with a block (taken from server.rb):
def create_client(hostname=nil,port=nil)
    pid = fork do
      @klass.start(hostname,port,self.url)
    end
    Process.detach(pid)
    pid
  end
end

Could that be causing the strange issue I'm having? I assumed that was
a safe way of using fork as the child only runs what's in the block.
My main puzzle is why the server loses it's reference to the client
process after it has registered.

I'm trying to learn some of the low level details of DRb, but
unfortunately the documentation out there is not very detailed.

Farrel