title: Read on pipe being blocked when child(writer) is put on sleep on Python 3
body: <p>In the following code I'm trying to make the child send some string and then make it sleep for a while. Everytime the child sleeps for some reason the read of the parent gets blocked. The read works fine if the sleep is removed but it is essential for the application I'm making.</p>
  
  <pre><code>import os
  
  nameout, namein = os.pipe()
  cpid = os.fork()
  
  if cpid == 0: #                    Child Process
      os.close(nameout)
      namein = os.fdopen(namein,'w')
  
      namein.write("Empire of the Clouds")
      print("I've just written")
      os.system('sleep 60') # Removing this makes everything work
  
  else: #                            Parent process
      print("I'm inside parent")
      os.close(namein)
      songname = os.fdopen(nameout)
      print("I'm going to read")
      songAndNum = songname.read()
      print("Song name read")
      print(songAndNum)
  </code></pre>
  
  <p>Could you please tell me where I'm going wrong or offer some other alternative. Thanks in advance</p>