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