Source file user_and_group.ml

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
open Core
open Import
include Core.User_and_group

let for_this_process () =
  Unix.getlogin ()
  >>= fun user ->
  let gid = Unix.getgid () in
  Unix.Group.getbygid gid
  >>| function
  | None -> error "Can't find group" (`gid gid) [%sexp_of: [`gid of int]]
  | Some group -> Ok (create ~user ~group:group.name)
;;

let for_this_process_exn () = for_this_process () >>| Or_error.ok_exn