Drb on windows not connecting

The drb examples just hang without doing anything. However, the tsvr.rb
and clnt.rb (not drb, just TCP), work fine, so I don’t think it’s a
firewall issue (I’ve tried shutting down the ZoneAlarm firewall, just to
be sure).

The only sign of any connection is that exiting the server causes an
exception in the client:

==== TERM 1 ====
C:\ruby\tmp\drb-sample>ruby name.rb druby://localhost:7640
druby://localhost:7640
[return] to exit

C:\ruby\tmp\drb-sample>

==== TERM 2 ====

C:\ruby\tmp\drb-sample>ruby namec.rb druby://localhost:7640
c:/ruby/lib/ruby/1.8/drb/drb.rb:103:in read': Invalid argument (Errno::EINVAL) from c:/ruby/lib/ruby/1.8/drb/drb.rb:103:inload’
from c:/ruby/lib/ruby/1.8/drb/drb.rb:149:in recv_reply' from c:/ruby/lib/ruby/1.8/drb/drb.rb:291:inrecv_reply’
from c:/ruby/lib/ruby/1.8/drb/drb.rb:474:in send_message' from c:/ruby/lib/ruby/1.8/drb/drb.rb:408:inmethod_missing’
from c:/ruby/lib/ruby/1.8/drb/drb.rb:407:in open' from c:/ruby/lib/ruby/1.8/drb/drb.rb:407:inmethod_missing’
from namec.rb:18

C:\ruby\tmp\drb-sample>

···

=================

This is with 1.8.0 (2003-08-04) mswin32.

TIA for any suggestions.

“Joel VanderWerf” vjoel@PATH.Berkeley.EDU wrote in message
news:3FD4E56F.40200@path.berkeley.edu…

The drb examples just hang without doing anything.

In name.rb, just replace the gets after the puts ‘[return] to exit’
with DRb.thread.join and see the fun :wink:

However, the tsvr.rb

Which tsvr.rb are you talking of …I don’t see it my sample dir ?

HTH,
– shanko

Shashank Date wrote:

“Joel VanderWerf” vjoel@PATH.Berkeley.EDU wrote in message
news:3FD4E56F.40200@path.berkeley.edu…

The drb examples just hang without doing anything.

In name.rb, just replace the gets after the puts ‘[return] to exit’
with DRb.thread.join and see the fun :wink:

Ok, got it now.

Anyone know why the behavior differs from linux to windows?

However, the tsvr.rb

Which tsvr.rb are you talking of …I don’t see it my sample dir ?

Strangely, it is installed in

\ruby\doc\Ruby-1.8.0\sample

Seems like it should be in

\ruby\samples

“Shashank Date” sdate@everestkc.net wrote in message

“Joel VanderWerf” vjoel@PATH.Berkeley.EDU wrote in message
news:3FD4E56F.40200@path.berkeley.edu…

The drb examples just hang without doing anything.

In name.rb, just replace the gets after the puts ‘[return] to exit’
with DRb.thread.join and see the fun :wink:

This is a solution to similar problems with some other drb
programs too (like rinda/ring.rb) on Win 32.
Unfortunately, this solution makes stoping the server process a pain.
I haven’t found a graceful exit solution yet.

However, the tsvr.rb

Which tsvr.rb are you talking of …I don’t see it my sample dir ?

Ok, found it. Thanks,
– shanko

Joel VanderWerf wrote:

Shashank Date wrote:

“Joel VanderWerf” vjoel@PATH.Berkeley.EDU wrote in message
news:3FD4E56F.40200@path.berkeley.edu…

The drb examples just hang without doing anything.

In name.rb, just replace the gets after the puts ‘[return] to exit’
with DRb.thread.join and see the fun :wink:

Ok, got it now.

Anyone know why the behavior differs from linux to windows?

I suppose #gets hangs the other threads? Ugh. Oh, well. I’m writing GUI
stuff anyway, so I don’t care too much about the console on windows.

Joel VanderWerf wrote:

I suppose #gets hangs the other threads? Ugh. Oh, well. I’m writing
GUI stuff anyway, so I don’t care too much about the console on windows.

Another option is to use srvany.exe – I’ve had this work well (although
srvany.exe is only available in the NT Resource Kit, I believe – not free)

···


Chris
http://clabs.org/blogki