summaryrefslogtreecommitdiff
path: root/compat/simple-ipc/ipc-shared.c
diff options
context:
space:
mode:
authorJeff Hostetler <jeffhost@microsoft.com>2021-03-15 21:08:23 +0000
committerJunio C Hamano <gitster@pobox.com>2021-03-15 14:32:50 -0700
commit59c7b88198af8af29deffb2eee7b7b2329e9197e (patch)
treea7730b01f2e80b4cdadf679c7901667164fd39f1 /compat/simple-ipc/ipc-shared.c
parent066d5234d04737408f5f537f30f19873a2c7637f (diff)
downloadgit-59c7b88198af8af29deffb2eee7b7b2329e9197e.tar.gz
simple-ipc: add win32 implementation
Create Windows implementation of "simple-ipc" using named pipes. Signed-off-by: Jeff Hostetler <jeffhost@microsoft.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
Diffstat (limited to 'compat/simple-ipc/ipc-shared.c')
-rw-r--r--compat/simple-ipc/ipc-shared.c28
1 files changed, 28 insertions, 0 deletions
diff --git a/compat/simple-ipc/ipc-shared.c b/compat/simple-ipc/ipc-shared.c
new file mode 100644
index 0000000000..1edec81595
--- /dev/null
+++ b/compat/simple-ipc/ipc-shared.c
@@ -0,0 +1,28 @@
+#include "cache.h"
+#include "simple-ipc.h"
+#include "strbuf.h"
+#include "pkt-line.h"
+#include "thread-utils.h"
+
+#ifdef SUPPORTS_SIMPLE_IPC
+
+int ipc_server_run(const char *path, const struct ipc_server_opts *opts,
+ ipc_server_application_cb *application_cb,
+ void *application_data)
+{
+ struct ipc_server_data *server_data = NULL;
+ int ret;
+
+ ret = ipc_server_run_async(&server_data, path, opts,
+ application_cb, application_data);
+ if (ret)
+ return ret;
+
+ ret = ipc_server_await(server_data);
+
+ ipc_server_free(server_data);
+
+ return ret;
+}
+
+#endif /* SUPPORTS_SIMPLE_IPC */