title: process.OutputDataReceived not read all lines
body: <p>result from cmd</p>
  
  <pre><code>C:\Users\XXXXX&gt;adb start-server
  * daemon not running. starting it now *
  * daemon started successfully *
  
  C:\Users\XXXXX&gt;
  </code></pre>
  
  <p>my c# code.</p>
  
  <pre><code>public string devicesPlus()
  {
      psi.Arguments = "start-server";
      call = Process.Start(psi);
      call.OutputDataReceived += new DataReceivedEventHandler(call_OutputDataReceived);
      call.ErrorDataReceived += new DataReceivedEventHandler(call_OutputDataReceived);
      call.EnableRaisingEvents = true;
      call.Exited += new EventHandler(call_Exited);
      call.Start();
      call.BeginOutputReadLine();
      call.BeginErrorReadLine();
      call.StandardInput.Close();
      call.WaitForExit();
      return outData.ToString();
  }
  
  private void call_OutputDataReceived(object sender, DataReceivedEventArgs e)
  {
      if (e.Data != null)
      {
          outData.Append(e.Data);
      }
  }
  </code></pre>
  
  <p>Now when i call devicesPlus,some time i get only * daemon not running. starting it now *
  some time it's just working in background and no result..
  can you guys tell me whats wrong in my code,why i don't get correct return like cmd..
  new to c# sorry for bad english...</p>
  
  <p><strong>Update</strong>
  if i kill adb from outside my app i get reply from my software suddenly.</p>