void ipc_terminate(void) { if (ipc_event_source) { wlc_event_source_remove(ipc_event_source); } close(ipc_socket); unlink(ipc_sockaddr.sun_path); }
void ipc_client_disconnect(struct ipc_client *client) { if (!sway_assert(client != NULL, "client != NULL")) { return; } sway_log(L_INFO, "IPC Client %d disconnected", client->fd); wlc_event_source_remove(client->event_source); close(client->fd); free(client); }
void ipc_terminate(void) { if (ipc_event_source) { wlc_event_source_remove(ipc_event_source); } close(ipc_socket); unlink(ipc_sockaddr->sun_path); list_free(ipc_client_list); if (ipc_sockaddr) { free(ipc_sockaddr); } }
void ipc_client_disconnect(struct ipc_client *client) { if (!sway_assert(client != NULL, "client != NULL")) { return; } if (client->fd != -1) { shutdown(client->fd, SHUT_RDWR); } sway_log(L_INFO, "IPC Client %d disconnected", client->fd); wlc_event_source_remove(client->event_source); int i = 0; while (i < ipc_client_list->length && ipc_client_list->items[i] != client) i++; list_del(ipc_client_list, i); close(client->fd); free(client); }