From: "Steve [RubyTalk]" Date: 2005-11-18T23:40:27+09:00 Subject: Problem with Daemon written in ruby... I recently asked about daemonizing a process in ruby and, in brief, I was told to close I/O handles and use fork and Process.setsid. [It was only a surprise that in Ruby 1.8 I have to do this by hand rather than use a library.] While all seemed to work absolutely fine with a few toy examples, I've run into a difficulty when I try to wrap my existing process (which works just fine running in a single process without fork.) Whenever I do "processing" after fork I get the following error message... it seems to relate to thread management in the net/imap implementation in the standard library. I make no explicit use of threads in myprog.rb: -- /usr/lib/ruby/1.8/monitor.rb:98:in `stop': stopping only thread (ThreadError) note: use sleep to stop forever from /usr/lib/ruby/1.8/monitor.rb:98:in `wait' from /usr/lib/ruby/1.8/net/imap.rb:966:in `get_tagged_response' from /usr/lib/ruby/1.8/net/imap.rb:1022:in `send_command' from /usr/lib/ruby/1.8/monitor.rb:229:in `synchronize' from /usr/lib/ruby/1.8/net/imap.rb:1007:in `send_command' from /usr/lib/ruby/1.8/net/imap.rb:1140:in `search_internal' from /usr/lib/ruby/1.8/monitor.rb:229:in `synchronize' from /usr/lib/ruby/1.8/net/imap.rb:1136:in `search_internal' from /usr/lib/ruby/1.8/net/imap.rb:675:in `search' from ./myprog.rb:57:in `process' from ./myprog.rb:93 from ./myprog.rb:88 -- Should I have expected this? What would be the best way to address the problem? I don't see why having used fork should have affected threading. Can anyone explain?