Advertisement
Guest User

Untitled

a guest
Mar 9th, 2014
110
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Ruby 0.43 KB | None | 0 0
  1. #!/usr/bin/env ruby
  2.  
  3. puts "First, let's close a pipe across Ruby threads"
  4. r, w = IO.pipe
  5.  
  6. Thread.new do
  7.   w.close
  8.   puts 'pipe closed'
  9. end
  10.  
  11. sleep 1
  12. puts "closed: #{r.closed?}"
  13. puts "probably gonna return now"
  14. r.eof?
  15.  
  16.  
  17. puts "\nNow, let's try it across processes"
  18. r, w = IO.pipe
  19.  
  20. fork do
  21.   w.close
  22.   puts 'pipe closed'
  23. end
  24.  
  25. sleep 1
  26. puts "closed: #{r.closed?}"
  27. puts "probably gonna block forever now"
  28. r.eof?
  29. ~
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement