On Tue, Jan 12 2021, Jeff Hostetler via GitGitGadget wrote: > This series introduces a multi-threaded IPC mechanism called "Simple IPC". > This is a library-layer feature to make it easy to create very long running > daemon/service applications and for unrelated Git commands to communicate > with them. Communication uses pkt-line messaging over a Windows named pipe > or Unix domain socket. > > On the server side, Simple IPC implements a (platform-specific) connection > listener and worker thread-pool to accept and handle a series of client > connections. The server functionality is completely hidden behind the > ipc_server_run() and ipc_server_run_async() APIs. The daemon/service > application only needs to define an application-specific callback to handle > client requests. > > Note that Simple IPC is completely unrelated to the long running process > feature (described in sub-process.h) where the lifetime of a "sub-process" > child is bound to that of the invoking parent process and communication > occurs over the child's stdin/stdout. > > Simple IPC will serve as a basis for a future builtin FSMonitor daemon > feature. I only skimmed this so far. In the past we had a git-read-cache--daemon -> git-index-helper[1] -> watchman. The last iteration of that seems to be the [3] re-roll from Ben Peart in 2017. I used/tested that for a while and had some near-production use-cases of it. How does this new series relate to that past work (if at all), and (not having re-read the old threads) were there reasons those old patch serieses weren't merged in that are addressed here, mitigated etc? 1. https://lore.kernel.org/git/1402406665-27988-1-git-send-email-pclouds@xxxxxxxxx/ 2. https://lore.kernel.org/git/1457548582-28302-1-git-send-email-dturner@xxxxxxxxxxxxxxxx/ 3. https://lore.kernel.org/git/20170518201333.13088-1-benpeart@xxxxxxxxxxxxx/ 4. https://lore.kernel.org/git/87bmhfwmqa.fsf@xxxxxxxxxxxxxxxxxxx/