Monado OpenXR Runtime
ipc_server_mainloop_linux.c File Reference

Server mainloop details on Linux. More...

#include "xrt/xrt_device.h"
#include "xrt/xrt_instance.h"
#include "xrt/xrt_compositor.h"
#include "xrt/xrt_config_have.h"
#include "xrt/xrt_config_os.h"
#include "os/os_time.h"
#include "util/u_var.h"
#include "util/u_misc.h"
#include "util/u_debug.h"
#include "util/u_trace_marker.h"
#include "util/u_file.h"
#include "shared/ipc_shmem.h"
#include "server/ipc_server.h"
#include <stdlib.h>
#include <unistd.h>
#include <inttypes.h>
#include <stdbool.h>
#include <sys/types.h>
#include <sys/stat.h>
#include <sys/mman.h>
#include <sys/socket.h>
#include <sys/un.h>
#include <sys/epoll.h>
#include <fcntl.h>
#include <errno.h>
#include <stdio.h>
#include <string.h>
#include <assert.h>
#include <limits.h>
#include <systemd/sd-daemon.h>
Include dependency graph for ipc_server_mainloop_linux.c:

Macros

#define NUM_POLL_EVENTS   8
 
#define NO_SLEEP   0
 

Functions

static int get_systemd_socket (struct ipc_server_mainloop *ml, int *out_fd)
 
static int create_listen_socket (struct ipc_server_mainloop *ml, int *out_fd)
 
static int init_listen_socket (struct ipc_server_mainloop *ml)
 
static int init_epoll (struct ipc_server_mainloop *ml)
 
static void handle_listen (struct ipc_server *vs, struct ipc_server_mainloop *ml)
 
void ipc_server_mainloop_poll (struct ipc_server *vs, struct ipc_server_mainloop *ml)
 
int ipc_server_mainloop_init (struct ipc_server_mainloop *ml)
 
void ipc_server_mainloop_deinit (struct ipc_server_mainloop *ml)
 

Detailed Description

Function Documentation

◆ ipc_server_mainloop_deinit()

void ipc_server_mainloop_deinit ( struct ipc_server_mainloop ml)
Todo:
close epoll_fd?