Code

mingw: use real pid
authorErik Faye-Lund <kusmabite@gmail.com>
Thu, 4 Nov 2010 01:35:13 +0000 (02:35 +0100)
committerJunio C Hamano <gitster@pobox.com>
Thu, 4 Nov 2010 23:53:50 +0000 (16:53 -0700)
commit52de4db57977175c5ad1d6c3922e772d6de08496
tree81411c6bb7a805ced13cbaf8580992023b6d1e5e
parentbb34c5aabe9f8d86a40d5ab8518fc78602264179
mingw: use real pid

The Windows port have so far been using process handles in place
of PID. However, this is not work consistent with what getpid
returns.

PIDs are system-global identifiers, but process handles are local
to a process. Using PIDs instead of process handles allows, for
instance, a user to kill a hung process with the Task Manager,
something that would have been impossible with process handles.

Change the code to use the real PID, and use OpenProcess to get a
process-handle. Store the PID and the process handle in a linked
list protected by a critical section, so we can safely close the
process handle later.

Linked list code written by Pat Thoyts.

Signed-off-by: Erik Faye-Lund <kusmabite@gmail.com>
Signed-off-by: Pat Thoyts <patthoyts@users.sourceforge.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
compat/mingw.c
compat/mingw.h