diff --git a/src/xrt/ipc/server/ipc_server_interface.h b/src/xrt/ipc/server/ipc_server_interface.h index b1572cb49..a4bf829ed 100644 --- a/src/xrt/ipc/server/ipc_server_interface.h +++ b/src/xrt/ipc/server/ipc_server_interface.h @@ -101,6 +101,14 @@ struct ipc_server_callbacks int ipc_server_main_common(const struct ipc_server_main_info *ismi, const struct ipc_server_callbacks *iscb, void *data); +/*! + * Asks the server to shut down, this call is asynchronous and will return + * immediately. Use callbacks to be notified when the server stops. + * + * @memberof ipc_server + */ +int +ipc_server_stop(struct ipc_server *s); #ifndef XRT_OS_ANDROID diff --git a/src/xrt/ipc/server/ipc_server_process.c b/src/xrt/ipc/server/ipc_server_process.c index 84277c58d..020150d55 100644 --- a/src/xrt/ipc/server/ipc_server_process.c +++ b/src/xrt/ipc/server/ipc_server_process.c @@ -1129,6 +1129,12 @@ ipc_server_main_common(const struct ipc_server_main_info *ismi, return ret; } +int +ipc_server_stop(struct ipc_server *s) +{ + s->running = false; + return 0; +} #ifndef XRT_OS_ANDROID