summaryrefslogtreecommitdiff
path: root/code/snippets/pipe_sharing_with_fork.rb
diff options
context:
space:
mode:
authormo khan <mo@mokhan.ca>2013-08-28 07:20:13 -0600
committermo khan <mo@mokhan.ca>2013-08-28 07:20:13 -0600
commitdb1191ec0e7305d684383f8974e2fa437f77ad5a (patch)
tree5e27b197dff849d22d8e1f50eb75aa499b16bd06 /code/snippets/pipe_sharing_with_fork.rb
initial commitHEADmaster
Diffstat (limited to 'code/snippets/pipe_sharing_with_fork.rb')
-rw-r--r--code/snippets/pipe_sharing_with_fork.rb16
1 files changed, 16 insertions, 0 deletions
diff --git a/code/snippets/pipe_sharing_with_fork.rb b/code/snippets/pipe_sharing_with_fork.rb
new file mode 100644
index 0000000..038981a
--- /dev/null
+++ b/code/snippets/pipe_sharing_with_fork.rb
@@ -0,0 +1,16 @@
+reader, writer = IO.pipe
+
+fork do
+ reader.close
+
+ 10.times do
+ # heavy lifting
+ writer.puts "Another one bites the dust"
+ end
+end
+
+writer.close
+while message = reader.gets
+ $stdout.puts message
+end
+