#include "flock/flock.h"
#include "lib/obstacle.h"
+#include "lib/runtime.h"
#include "lib/string.h"
#include "lib/timer.h"
#include "sysdep/unix/unix.h"
#include <poll.h>
#include <sched.h>
#include <signal.h>
+#include <stdatomic.h>
#include <stdio.h>
#include <stdlib.h>
#include <sys/mount.h>
birdloop_init();
+ struct global_runtime gr = *atomic_load_explicit(&global_runtime, memory_order_relaxed);
+// gr.latency_debug = ~0;
+ switch_runtime(&gr);
+
ev_init_list(&global_event_list, &main_birdloop, "Global event list");
ev_init_list(&global_work_list, &main_birdloop, "Global work list");
ev_init_list(&main_birdloop.event_list, &main_birdloop, "Global fast event list");
};
int e = recvmsg(sk->fd, &m, 0);
+ if (e < 3)
+ {
+ log(L_ERR "Exposed parent RX hangup, what the hell");
+ sk_close(sk);
+ ev_send_loop(&main_birdloop, &poweroff_event);
+ return 0;
+ }
struct cmsghdr *c = CMSG_FIRSTHDR(&m);
memcpy(&sfd, CMSG_DATA(c), sizeof sfd);