let mkentry fqp abspath perm uname =
fprintf logfd "Making entry %s->%s\n" fqp abspath;flush logfd;
let fifoin=sprintf "%s.in" fqp in
let fifoout=sprintf "%s.out" fqp in
(try Unix.unlink fifoin with _ -> ());
(try Unix.unlink fifoout with _ -> ());
(try
let infname =(sprintf "%s.in" fqp) in
let outfname =(sprintf "%s.out" fqp) in
Unix.mkfifo infname 0o666;
Unix.mkfifo outfname 0o666;
(
if (!Globals.nochroot) then
let pwentry = Unix.getpwnam uname in
Unix.chown infname pwentry.pw_uid pwentry.pw_gid;
Unix.chown outfname pwentry.pw_uid pwentry.pw_gid
);
Success
with
e->fprintf logfd "Error creating FIFO: %s->%s. May be something wrong at the frontend.\n" fqp fifoout;flush logfd;Failed)