Permalink
Browse files

v0.15.3 - Much faster #shell calls, thanks to Richo Healey.

The communication in the previous #shell implementation was naïve -- it used a
non-blocking select(2) call along with a small sleep() to poll for output from
the subprocess. Now it uses a blocking select(2) to communicate with the
subprocess without polling.

The result is much-improved #shell performance, and less CPU time used by
babushka during #shell calls (its usage was already fairly low, though).

I wrote the non-blocking/sleep design to allow realtime logging of both
STDOUT and STDERR, in a simpler time when I didn't know that select(2)
can watch multiple file descriptors at once.
  • Loading branch information...
1 parent 2b5459b commit 68fa0e45f3216a76e9133ede63cebccc11b82da3 @benhoskings committed Nov 12, 2012
Showing with 1 addition and 1 deletion.
  1. +1 −1 lib/babushka.rb
View
@@ -1,5 +1,5 @@
module Babushka
- VERSION = '0.15.2'
+ VERSION = '0.15.3'
WorkingPrefix = '~/.babushka'
SourcePrefix = '~/.babushka/sources'
BuildPrefix = '~/.babushka/build'

0 comments on commit 68fa0e4

Please sign in to comment.