2.1.8: - greatly simplified read loop using two reader threads, one for stderr and one for stdout alongside a mutex to protect data. this streamlined the code alot vs. the old select method including allowing removal of the linbuffer class. the interface remains exactly as before however. 2.1.7: - improved thread safe non-blocking read method - gemspec 2.1.6: - wrapped send_command in a Thread (send async) so output processing can commend immeadiately. this was o.k. before, but had strange behaviour when using popen3 from threads. thanks to tanaka akira for this suggestion. - iff ENV['SESSION_USE_SPAWN'] is set Session uses Spawn::spawn instead of Open3::popen3. also noted that spawn seems to be a bit faster. - added tests for threads. - run 'sh SESSION_USE_SPAWN=1 ruby test/session.rb' to test using spawn - added tes