6aac70a870
Simple IPC always requires threads (in addition to various platform-specific IPC support). Fix the ifdefs in the Makefile to define SUPPORTS_SIMPLE_IPC when appropriate. Previously, the Unix version of the code would only verify that Unix domain sockets were available. This problem was reported here: https://lore.kernel.org/git/YKN5lXs4AoK%2FJFTO@coredump.intra.peff.net/T/#m08be8f1942ea8a2c36cfee0e51cdf06489fdeafc Reported-by: Randall S. Becker <rsbecker@nexbridge.com> Helped-by: Jeff King <peff@peff.net> Signed-off-by: Jeff Hostetler <jeffhost@microsoft.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
33 lines
714 B
C
33 lines
714 B
C
#include "cache.h"
|
|
#include "simple-ipc.h"
|
|
#include "strbuf.h"
|
|
#include "pkt-line.h"
|
|
#include "thread-utils.h"
|
|
|
|
#ifndef SUPPORTS_SIMPLE_IPC
|
|
/*
|
|
* This source file should only be compiled when Simple IPC is supported.
|
|
* See the top-level Makefile.
|
|
*/
|
|
#error SUPPORTS_SIMPLE_IPC not defined
|
|
#endif
|
|
|
|
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;
|
|
}
|