title: After execvp returns, why doesn't my program pick up where it left off?
body: <p>I have a block of code like this that runs as a child thread:</p>
  
  <pre><code>if(someVar == 1){
  doSomeStuff;
  
  _exit(0)
  }
  else
     execvp(*(temp-&gt;_arguments), temp-&gt;_arguments);
  printf("I'm done\n");
  </code></pre>
  
  <p>When I run the program with someVar == 1, I understand that the _exit(0) call kills my thread. However, when it's set to 0, why doesn't the program continue after the execvp() call and do the printf statement?</p>