systemd-ml/bin/main.ml

18 lines
746 B
OCaml
Raw Normal View History

2024-09-24 08:23:56 +00:00
include (val Xlog.logs __FUNCTION__)
open Eio.Std
2024-09-24 09:19:09 +00:00
let () = Systemd_main.run ~min_level:Xlog.DEBUG ~ready_status:(Some "meow meow") ~shutdown:(fun env _ctx -> Eio.Time.sleep env#clock 10.0) @@ fun env notify ->
2024-09-24 08:23:56 +00:00
let clock = Eio.Stdenv.clock env in
2024-09-24 09:19:09 +00:00
Switch.run @@ fun sw ->
2024-09-24 08:23:56 +00:00
info (fun m -> m "meow meow meow");
let fds = Systemd.Fdstore.listen_fds ~sw in
List.iter (fun (name, fd) -> Stdlib.Format.printf "got fd %a=%a\n%!" (Fmt.option ~none:(Fmt.any "<none>") Fmt.string) name Eio_unix.Fd.pp fd; Eio_linux.Low_level.writev fd [Cstruct.of_string "meow"]) fds;
info (fun m -> m "performing barrier");
2024-09-24 09:19:09 +00:00
Systemd.Notify.barrier notify;
2024-09-24 08:23:56 +00:00
info (fun m -> m "done");
2024-09-24 09:19:09 +00:00
Eio.Time.sleep clock 10.0;
info (fun m -> m "done 2")