tests: fix conflict between Cygwin/msys and Windows PIDs

Add 65536 to Windows PIDs to allow Windows specific treatment
by having disjunct ranges for Cygwin/msys and Windows PIDs.

See also:
- https://cygwin.com/git/?p=newlib-cygwin.git;a=commit; ↵
  h=b5e1003722cb14235c4f166be72c09acdffc62ea
- https://cygwin.com/git/?p=newlib-cygwin.git;a=commit; ↵
  h=448cf5aa4b429d5a9cebf92a0da4ab4b5b6d23fe

Replaces #5178
Closes #5188
This commit is contained in:
Marc Hoersken 2020-04-05 19:18:09 +02:00
parent 6d13ef5325
commit 3f60a9e995
No known key found for this signature in database
GPG key ID: 61E03CBED7BC859E
5 changed files with 79 additions and 33 deletions

View file

@ -269,6 +269,15 @@ int write_pidfile(const char *filename)
logmsg("Couldn't write pid file: %s %s", filename, strerror(errno));
return 0; /* fail */
}
#if defined(WIN32) || defined(_WIN32)
/* store pid + 65536 to avoid conflict with Cygwin/msys PIDs, see also:
* - https://cygwin.com/git/?p=newlib-cygwin.git;a=commit; ↵
* h=b5e1003722cb14235c4f166be72c09acdffc62ea
* - https://cygwin.com/git/?p=newlib-cygwin.git;a=commit; ↵
* h=448cf5aa4b429d5a9cebf92a0da4ab4b5b6d23fe
*/
pid += 65536;
#endif
fprintf(pidfile, "%ld\n", pid);
fclose(pidfile);
logmsg("Wrote pid %ld to %s", pid, filename);