In July I sent the V3 version [3] of my Builtin FSMonitor series [1,2,3]. This has been in "seen" as branch jh/builtin-fsmonitor. At 34 commits, it was already a little too big to easily review. With the feed back on [3] and from people using the experimental version that we shipped with git-for-windows v2.32 and v2.33, I've prepared a new V4 version. This can be seen in [4]. However, this new version currently contains 58 commits and is way too big to be submitted as is. So I would like to close or discard the original V3 branch and submit V4 in pieces to make it easier to review. Here is Part 1 of (what would be V4 of) my Builtin FSMonitor series. Part 1 contains: * A fix for a memory leak in the Trace2 code. (This was independently reported in last week in "ab/tr2-leaks-and-fixes".) * Various cleanups in the simple-ipc layer. * A new start_bg_command() function to launch a command into the background and wait for it to start. And a refactored consumer of it in test-simple-ipc. There was a large discussion on commit 14/34 in V3 [5 thru 6] about the large ifdef'd blocks of platform specific code to spawn background commands, trace2 handling, and duplicated code in fsmonitor--daemon.c and in test-simple-ipc. That has all been addressed here. [1] https://lore.kernel.org/git/pull.923.git.1617291666.gitgitgadget@xxxxxxxxx/ [2] https://lore.kernel.org/git/pull.923.v2.git.1621691828.gitgitgadget@xxxxxxxxx/ [3] https://lore.kernel.org/git/pull.923.v3.git.1625150864.gitgitgadget@xxxxxxxxx/ [4] https://github.com/gitgitgadget/git/pull/923 [5] https://lore.kernel.org/git/9fe902aad87f1192705fb69ea212a2d066d0286d.1625150864.git.gitgitgadget@xxxxxxxxx/ [6] https://lore.kernel.org/git/87tukovidd.fsf@xxxxxxxxxxxxxxxxxxx/ Jeff Hostetler (7): trace2: fix memory leak of thread name simple-ipc: preparations for supporting binary messages. simple-ipc: move definition of ipc_active_state outside of ifdef simple-ipc/ipc-win32: add trace2 debugging simple-ipc/ipc-win32: add Windows ACL to named pipe run-command: create start_bg_command t/helper/simple-ipc: convert test-simple-ipc to use start_bg_command compat/simple-ipc/ipc-unix-socket.c | 14 +- compat/simple-ipc/ipc-win32.c | 176 +++++++++++++++++++-- run-command.c | 123 +++++++++++++++ run-command.h | 48 ++++++ simple-ipc.h | 21 +-- t/helper/test-simple-ipc.c | 227 ++++++++-------------------- trace2/tr2_tls.c | 1 + 7 files changed, 416 insertions(+), 194 deletions(-) base-commit: 8b7c11b8668b4e774f81a9f0b4c30144b818f1d1 Published-As: https://github.com/gitgitgadget/git/releases/tag/pr-1040%2Fjeffhostetler%2Fbuiltin-fsmonitor-part1-v1 Fetch-It-Via: git fetch https://github.com/gitgitgadget/git pr-1040/jeffhostetler/builtin-fsmonitor-part1-v1 Pull-Request: https://github.com/gitgitgadget/git/pull/1040 -- gitgitgadget