ref: master
cmd/beterrabad/main.ha
use beterraba; use os; use os::exec; use fs; use log; use io; use strings; use path; use unix; use unix::signal; use fmt; use rt; export fn main() void = { signal::block(signal::SIGINT, signal::SIGTERM); const sigfd = signal::signalfd(signal::SIGINT, signal::SIGTERM)!; defer io::close(sigfd)!; const serv = bind(sigfd); defer shutdown(&serv); //const flags = rt::fcntl(sock.sock, rt::F_GETFL, 0)!; //rt::fcntl(sock.sock, rt::F_SETFL, flags | rt::O_CLOEXEC)!; setup(&serv); log::println("beterrabad running"); for (dispatch(&serv)) void; log::println("beterrabad terminated"); };