title: FIFO file in TCL
body: <p>I need to unzip file in a named pipe return it:</p>
  
  <pre><code>proc unzip_file_if_needed { fileName } {
      if { [file extension $fileName] != ".gz" } {
          return $fileName;
      }
      set tmpDir [fileutil::tempdir]
      set tmpFileName [ file join $tmpDir [ pid ] ]
      if { [file exists $tmpFileName ] } {
          file delete $tmpFileName
      }
      exec mkfifo $tmpFileName
      exec gunzip -c $fileName &gt; $tmpFileName &amp;
      return $tmpFileName
  }
  </code></pre>
  
  <p>It hangs on 
  <code>exec gunzip -c $fileName &gt; $tmpFileName &amp;</code></p>