git/list[1] front-page[2] threads[3] people[4] search[5] about
 

[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
Next: Johannes Sixt
Message 1 of 24 in “Miscellaneous improvements on Windows”
  1. 0/5 Miscellaneous improvements on WindowsJohannes Sixt, Jan 7, 2010
  2. 1/5 MSVC: Windows-native implementation for subset of Pthreads APIJohannes Sixt, Jan 7, 2010
  3. Dmitry PotapovJan 8, 2010
  4. Erik Faye-LundJan 8, 2010
  5. Johannes SixtJan 8, 2010
  6. Dmitry PotapovJan 8, 2010
  7. Johannes SixtJan 12, 2010
  8. Dmitry PotapovJan 13, 2010
  9. Johannes SixtJan 13, 2010
  10. Dmitry PotapovJan 14, 2010
  11. Peter HarrisJan 14, 2010
  12. Johannes SixtJan 14, 2010
  13. 2/5 MinGW: enable pthreadsJohannes Sixt, Jan 7, 2010
  14. 3/5 Windows: boost startup by avoiding a static dependency on shell32.dllJohannes Sixt, Jan 7, 2010
  15. 4/5 Windows: simplify the pipe(2) implementationJohannes Sixt, Jan 7, 2010
  16. 5/5 Windows: avoid the "dup dance" when spawning a child processJohannes Sixt, Jan 7, 2010
  17. 0/7 Miscellaneous improvements on WindowsJohannes Sixt, Jan 15, 2010
  18. 1/7 Windows: disable PythonJohannes Sixt, Jan 15, 2010
  19. 2/7 Windows: boost startup by avoiding a static dependency on shell32.dllJohannes Sixt, Jan 15, 2010
  20. 3/7 Windows: simplify the pipe(2) implementationJohannes Sixt, Jan 15, 2010
  21. 4/7 Windows: avoid the "dup dance" when spawning a child processJohannes Sixt, Jan 15, 2010
  22. 5/7 MSVC: Fix an "incompatible pointer types" compiler warningJohannes Sixt, Jan 15, 2010
  23. 6/7 MSVC: Windows-native implementation for subset of Pthreads APIJohannes Sixt, Jan 15, 2010
  24. 7/7 Do not use date.c:tm_to_time_t() from compat/mingw.cJohannes Sixt, Jan 15, 2010

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.