Re: [PATCH 00/10] [RFC] Simple IPC Mechanism
flat view
From: Ævar Arnfjörð Bjarmason <hidden>
Date: 2021-01-12 16:51:55
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@gmail.com/ (local) 2. https://lore.kernel.org/git/1457548582-28302-1-git-send-email-dturner@twopensource.com/ (local) 3. https://lore.kernel.org/git/20170518201333.13088-1-benpeart@microsoft.com/ (local) 4. https://lore.kernel.org/git/87bmhfwmqa.fsf@evledraar.gmail.com/ (local)