# Issue with multi threading

**URL:** <https://www.ruby-forum.com/t/issue-with-multi-threading/170577>\
**Category:** Ruby\
**Created:** [June 19, 2009, 9:34am UTC](https://www.ruby-forum.com/t/issue-with-multi-threading/170577 "2009-06-19T09:34:07Z")\
**Posts on this page:** 4\
**Page:** 1

<div class="post-metadata">

**Author:** ![Rajeswar\_reddy\_G](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/r/8c91f0/32.png) [@Rajeswar\_reddy\_G](https://www.ruby-forum.com/u/Rajeswar_reddy_G)\
**Post date:** [June 19, 2009, 9:34am UTC](https://www.ruby-forum.com/t/issue-with-multi-threading/170577/1 "2009-06-19T09:34:07Z")

</div>

1 require ‘net/ssh’  
2 Net::SSH.start(‘10.10.2.3’, ‘test’, :password =\> “test123”) do |ssh|  
3 productsList=[‘test1’, ‘test2’, ‘test3’, ‘test4’, ‘test5’]  
4 puts Time.now  
5 threads = []  
6 for product in productsList  
7 threads \<\< Thread.new(product) { |product1|  
8 baseDir=’$HOME/Repository/’  
9 fileslist= []  
10 confFolders=[‘conf’, ‘bin’]  
11 confFolders.each{|confFolder|  
12  
13 stdout = “”  
14 fileslist\_temp=[]  
15  
16 puts “path: ls -1 #{baseDir}/#{product1}/#{confFolder}/”  
17 ssh.exec!(“ls -1 #{baseDir}/#{product1}/#{confFolder}/”) do  
|channel, stream, data|  
18 stdout\<\< data if stream == :stdout  
19 end  
20 fileslist\_temp=stdout.split("\n")  
21 fileslist\_temp.each{|file|  
22 file.strip!  
23 temp="#{confFolder}/"+file  
24 fileslist.push(temp)  
25 }  
26 }  
27 config\_files\_list=fileslist.join(", ")  
28 puts “#{product1} Proudct List: #{config\_files\_list}”  
39 }  
30 end  
31 threads.each { |aThread| aThread.join }  
32 puts Time.now  
33 end

Above program is giving below exception, please help me to fix this  
issue.

C:/Ruby/lib/ruby/gems/1.9.1/gems/net-ssh-2.0.11/lib/net/ssh/connection/session.rb:200:in  
`select': An operation was attempted on something that is not a socket. (Errno::ENOTSOCK) from C:/Ruby/lib/ruby/gems/1.9.1/gems/net-ssh-2.0.11/lib/net/ssh/connection/session.rb:200:in`process’  
from  
C:/Ruby/lib/ruby/gems/1.9.1/gems/net-ssh-2.0.11/lib/net/ssh/connection/session.rb:160:in  
`block in loop' from C:/Ruby/lib/ruby/gems/1.9.1/gems/net-ssh-2.0.11/lib/net/ssh/connection/session.rb:160:in`loop’  
from  
C:/Ruby/lib/ruby/gems/1.9.1/gems/net-ssh-2.0.11/lib/net/ssh/connection/session.rb:160:in  
`loop' from C:/Ruby/lib/ruby/gems/1.9.1/gems/net-ssh-2.0.11/lib/net/ssh/connection/channel.rb:269:in`wait’  
from  
C:/Ruby/lib/ruby/gems/1.9.1/gems/net-ssh-2.0.11/lib/net/ssh/connection/session.rb:354:in  
`exec!' from Thread.rb:17:in`block (4 levels) in ’  
from Thread.rb:12:in `each' from Thread.rb:12:in`block (3 levels) in ’  
2009-06-19 11:28:43 +0530  
path: ls -1 $HOME/Repository//test1/conf/  
path: ls -1 $HOME/Repository//test2/conf/  
path: ls -1 $HOME/Repository//test3/conf/  
path: ls -1 $HOME/Repository//test4/conf/  
path: ls -1 $HOME/Repository//test5/conf/

---

<div class="post-metadata">

**Author:** ![Rajeswar\_reddy\_G](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/r/8c91f0/32.png) [@Rajeswar\_reddy\_G](https://www.ruby-forum.com/u/Rajeswar_reddy_G)\
**Post date:** [June 19, 2009, 8:08pm UTC](https://www.ruby-forum.com/t/issue-with-multi-threading/170577/2 "2009-06-19T20:08:24Z")

</div>

> C:/Ruby/lib/ruby/gems/1.9.1/gems/net-ssh-2.0.11/lib/net/ssh/connection/session.rb:200:in  
> `select’: An operation was attempted on something that is not a socket.  
> (Errno::ENOTSOCK)  
> from

It might be related to  
[http://redmine.ruby-lang.org/issues/show/1541](http://redmine.ruby-lang.org/issues/show/1541)  
does it occur rarely? what version of ruby?  
-=r

---

<div class="post-metadata">

**Author:** ![Rajeswar\_reddy\_G](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/r/8c91f0/32.png) [@Rajeswar\_reddy\_G](https://www.ruby-forum.com/u/Rajeswar_reddy_G)\
**Post date:** [June 22, 2009, 6:53am UTC](https://www.ruby-forum.com/t/issue-with-multi-threading/170577/3 "2009-06-22T06:53:25Z")

</div>

Roger P. wrote:

> > C:/Ruby/lib/ruby/gems/1.9.1/gems/net-ssh-2.0.11/lib/net/ssh/connection/session.rb:200:in  
> > `select’: An operation was attempted on something that is not a socket.  
> > (Errno::ENOTSOCK)  
> > from
> 
> It might be related to  
> [http://redmine.ruby-lang.org/issues/show/1541](http://redmine.ruby-lang.org/issues/show/1541)  
> does it occur rarely? what version of ruby?  
> -=r

Hi Roger P.,

Ruby version  
ruby 1.9.1p0 (2009-01-30 revision 21907) [i386-mswin32]

Frequency occurring of this issue is 8 times out of 10.

---

<div class="post-metadata">

**Author:** ![Rajeswar\_reddy\_G](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/r/8c91f0/32.png) [@Rajeswar\_reddy\_G](https://www.ruby-forum.com/u/Rajeswar_reddy_G)\
**Post date:** [June 22, 2009, 8:04am UTC](https://www.ruby-forum.com/t/issue-with-multi-threading/170577/4 "2009-06-22T08:04:31Z")

</div>

On Sun, Jun 21, 2009 at 9:53 PM, Rajeswar reddy Gaulla \<  
removed\_email\_address@domain.invalid\> wrote:

> > -=r

Google as always is your friend (net:ssh multithread)

[http://weblog.jamisbuck.org/2008/3/18/net-ssh-and-thread-safety](http://weblog.jamisbuck.org/2008/3/18/net-ssh-and-thread-safety) - hit #1

John
