mirror of
https://gitlab.freedesktop.org/monado/monado.git
synced 2025-01-01 12:46:12 +00:00
ipc: Send less information when describing the client
This commit is contained in:
parent
2edf07749b
commit
1920a9f0d7
|
@ -289,13 +289,13 @@ ipc_client_connection_init(struct ipc_connection *ipc_c,
|
||||||
return xret;
|
return xret;
|
||||||
}
|
}
|
||||||
|
|
||||||
struct ipc_app_state desc = {0};
|
struct ipc_client_description desc = {0};
|
||||||
desc.info = *i_info;
|
desc.info = *i_info;
|
||||||
desc.pid = getpid(); // Extra info.
|
desc.pid = getpid(); // Extra info.
|
||||||
|
|
||||||
xret = ipc_call_system_set_client_info(ipc_c, &desc);
|
xret = ipc_call_instance_describe_client(ipc_c, &desc);
|
||||||
if (xret != XRT_SUCCESS) {
|
if (xret != XRT_SUCCESS) {
|
||||||
IPC_ERROR(ipc_c, "Failed to set instance info!");
|
IPC_ERROR(ipc_c, "Failed to set instance description!");
|
||||||
ipc_client_connection_fini(ipc_c);
|
ipc_client_connection_fini(ipc_c);
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -163,6 +163,23 @@ ipc_handle_instance_get_shm_fd(volatile struct ipc_client_state *ics,
|
||||||
return XRT_SUCCESS;
|
return XRT_SUCCESS;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
xrt_result_t
|
||||||
|
ipc_handle_instance_describe_client(volatile struct ipc_client_state *ics,
|
||||||
|
const struct ipc_client_description *client_desc)
|
||||||
|
{
|
||||||
|
ics->client_state.info = client_desc->info;
|
||||||
|
ics->client_state.pid = client_desc->pid;
|
||||||
|
|
||||||
|
IPC_INFO(ics->server,
|
||||||
|
"Client info\n"
|
||||||
|
"\tapplication_name: '%s'\n"
|
||||||
|
"\tpid: %i",
|
||||||
|
client_desc->info.application_name, //
|
||||||
|
client_desc->pid); //
|
||||||
|
|
||||||
|
return XRT_SUCCESS;
|
||||||
|
}
|
||||||
|
|
||||||
xrt_result_t
|
xrt_result_t
|
||||||
ipc_handle_system_compositor_get_info(volatile struct ipc_client_state *ics,
|
ipc_handle_system_compositor_get_info(volatile struct ipc_client_state *ics,
|
||||||
struct xrt_system_compositor_info *out_info)
|
struct xrt_system_compositor_info *out_info)
|
||||||
|
@ -946,22 +963,6 @@ ipc_handle_system_get_client_info(volatile struct ipc_client_state *_ics,
|
||||||
return XRT_SUCCESS;
|
return XRT_SUCCESS;
|
||||||
}
|
}
|
||||||
|
|
||||||
xrt_result_t
|
|
||||||
ipc_handle_system_set_client_info(volatile struct ipc_client_state *ics, const struct ipc_app_state *client_desc)
|
|
||||||
{
|
|
||||||
ics->client_state.info = client_desc->info;
|
|
||||||
ics->client_state.pid = client_desc->pid;
|
|
||||||
|
|
||||||
IPC_INFO(ics->server,
|
|
||||||
"Client info\n"
|
|
||||||
"\tapplication_name: '%s'\n"
|
|
||||||
"\tpid: %i",
|
|
||||||
client_desc->info.application_name, //
|
|
||||||
client_desc->pid); //
|
|
||||||
|
|
||||||
return XRT_SUCCESS;
|
|
||||||
}
|
|
||||||
|
|
||||||
xrt_result_t
|
xrt_result_t
|
||||||
ipc_handle_system_get_clients(volatile struct ipc_client_state *_ics, struct ipc_client_list *list)
|
ipc_handle_system_get_clients(volatile struct ipc_client_state *_ics, struct ipc_client_list *list)
|
||||||
{
|
{
|
||||||
|
|
|
@ -274,6 +274,15 @@ struct ipc_shared_memory
|
||||||
uint64_t startup_timestamp;
|
uint64_t startup_timestamp;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
/*!
|
||||||
|
* Initial info from a client when it connects.
|
||||||
|
*/
|
||||||
|
struct ipc_client_description
|
||||||
|
{
|
||||||
|
pid_t pid;
|
||||||
|
struct xrt_instance_info info;
|
||||||
|
};
|
||||||
|
|
||||||
struct ipc_client_list
|
struct ipc_client_list
|
||||||
{
|
{
|
||||||
int32_t ids[IPC_MAX_CLIENTS];
|
int32_t ids[IPC_MAX_CLIENTS];
|
||||||
|
|
|
@ -5,6 +5,12 @@
|
||||||
"out_handles": {"type": "xrt_shmem_handle_t"}
|
"out_handles": {"type": "xrt_shmem_handle_t"}
|
||||||
},
|
},
|
||||||
|
|
||||||
|
"instance_describe_client": {
|
||||||
|
"in": [
|
||||||
|
{"name": "desc", "type": "struct ipc_client_description"}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
|
||||||
"system_get_client_info": {
|
"system_get_client_info": {
|
||||||
"in": [
|
"in": [
|
||||||
{"name": "id", "type": "uint32_t"}
|
{"name": "id", "type": "uint32_t"}
|
||||||
|
@ -14,12 +20,6 @@
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
|
|
||||||
"system_set_client_info": {
|
|
||||||
"in": [
|
|
||||||
{"name": "desc", "type": "struct ipc_app_state"}
|
|
||||||
]
|
|
||||||
},
|
|
||||||
|
|
||||||
"system_get_clients": {
|
"system_get_clients": {
|
||||||
"out": [
|
"out": [
|
||||||
{"name": "clients", "type": "struct ipc_client_list"}
|
{"name": "clients", "type": "struct ipc_client_list"}
|
||||||
|
|
Loading…
Reference in a new issue