process_stub_unix: fix race condition with reading of env file

The stub incorrectly send its pid before reading the environment file,
and qtcreator does interpret that as sign that it can delete the
environment file.

Task-number: QTCREATORBUG-9024
Change-Id: Id44777abdfdd94aa10815cb00ca27846b95a3ec7
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
This commit is contained in:
Fawzi Mohamed
2013-06-24 16:41:28 +02:00
parent a3cb35edbe
commit bd5583eb9d

View File

@@ -198,8 +198,6 @@ int main(int argc, char *argv[])
isDebug = !strcmp(argv[ArgAction], "debug");
isDetached = 0;
sendMsg("spid %ld\n", (long)getpid());
if (*argv[ArgDir] && chdir(argv[ArgDir])) {
/* Only expected error: no such file or direcotry */
sendMsg("err:chdir %d\n", errno);
@@ -235,6 +233,8 @@ int main(int argc, char *argv[])
env[count] = 0;
}
/* send our pid after we read the environment file (creator will get rid of it) */
sendMsg("spid %ld\n", (long)getpid());
/*
* set up the signal handlers