Robert Klemme wrote:

> I believe you are not using Process.fork properly.  In fact, I am
> surprised that you do not get an exception:
> 
> irb(main):001:0> Process.fork("foo")
> ArgumentError: wrong number of arguments (1 for 0)
>   from (irb):1:in `fork'
>   from (irb):1
>   from :0

Yes, quite possible - I didn't really look up the exact code, just wrote 
it down from memory, sorry about that..

> 
> processes = 4
> count = 0
> 
> my_array.each do |task|
>    if count == processes
>      Process.wait
>      count -= 1
>    end
> 
>    fork do
>      a_method(task)
>    end
>    count += 1
> end
> 
> Process.waitall
> 

That works like a charm, thanks a lot!
-- 
Posted via http://www.ruby-forum.com/.