code: function reexecuteMaster() {
      logm('info', "call reexecuteMaster", posix.getpid());
      var binary = pathSearch(process.argv[0]);
      var envp = [];
      var argv = process.argv.map(function(v) { return v; });
  
      for (var k in process.env) {
        envp.push(k + "=" + process.env[k]);
      }
      // set the original master pid in the new master's enviornment
      // this will also indicate to the new master process that it should not
      // try to rebind, but instead reuse the existing server socket
      envp.push("__TIAMAT_FD=" + server_socket);
  
      argv.shift(); // shift the original node off execve expects argv[0] to be the js file
   
      if (config.before_exec) { try { config.before_exec(config); } catch(e) { console.error("reexecuteMaster(error)"); console.error(e); } }
  
      if (!pidfile.match(/oldbin$/)) { pidfile += ".oldbin"; } // if we're oldbin already don't change...
      // create a new pidfile for our process
      fs.writeFileSync(pidfile, posix.getpid().toString());
  
      reexec_pid = posix.fork(false); // don't clear the event loop since we'll be execv soon
  
      if (reexec_pid == 0) {
        posix.fd_open_on_exec(server_socket); // keep the server socket alive
        posix.execve(binary, argv, envp);
      }
  
      // update current master as old a new one is starting up
      process.title = "node m (old)";
    }
docs: used this resource: http://www.linuxforums.org/forum/programming-scripting/54613-how-access-open-file-descriptors-after-doing-exec.html read this too: http://www.cim.mcgill.ca/~franco/OpSys-304-427/lecture-notes/node27.html also read this: https://github.com/pgte/fugue/wiki/How-Fugue-Works and read this: http://stackoverflow.com/questions/1643304/how-to-set-close-on-exec-by-default