[PATCH 0/5] Miscellaneous improvements on Windows
- From
Johannes Sixt <j6t@kdbg.org>
- Date
- Jan 7, 2010, 21:54 UTC
- Message-ID
- <cover.1262895936.git.j6t@kdbg.org>
This series is actually a set of independent changes that improve the Windows port. (Except that 2/5 depends on 1/5.)
1/5 and 2/5 enable threaded code on Windows. This topic was discussed beginning of November. The change to builtin-pack-objects.c was positively commented (though not formally acked) by Nico:
http://thread.gmane.org/gmane.comp.version-control.git/131998/focus=132239
3/5 removes a static dependency on shell32.dll so that startup time is reduced. It does reduce the runtime of the test suite ('make -j2 test') from 16:00min to 12:40min for me.
4/5 (the new pipe implementation) could be considered code churn. It reduces LOC, but the effect is not noticable during run-time.
5/5 (avoid "dup dance") straightens our run-command implementation a bit. It is more of the future-proofing kind because it avoids that a writable pipe end remains accidentally open in a child process, leaving the reader waiting idenfinetly. This doesn't seem to be a problem currently, though.
I'm using these patches since November.
Andrzej K. Haczewski (1): MSVC: Windows-native implementation for subset of Pthreads API
Johannes Sixt (4): MinGW: enable pthreads Windows: boost startup by avoiding a static dependency on shell32.dll Windows: simplify the pipe(2) implementation Windows: avoid the "dup dance" when spawning a child process
Makefile | 13 +++-- builtin-pack-objects.c | 31 +++++++++++-- compat/mingw.c | 80 ++++++++++++++++---------------- compat/mingw.h | 8 +++- compat/win32/pthread.c | 120 ++++++++++++++++++++++++++++++++++++++++++++++++ compat/win32/pthread.h | 68 +++++++++++++++++++++++++++ run-command.c | 71 ++++++++++++---------------- 7 files changed, 300 insertions(+), 91 deletions(-) create mode 100644 compat/win32/pthread.c create mode 100644 compat/win32/pthread.h