| err0 = err1, root.dir?, fids-cons(root, fs, ofh), pre-open(path, mode, err, user, root, fs, ofh) ⊦ ⟪err0 := err; if err0 = ESUCCESS then let fid = root[path].fid in choose n with ¬ n ∈ ofh in {ofh[n] := mkfh(fid, mode, 0); fd := n}⟫ fids-cons(root, fs, ofh) |
err0 = err1, root.dir?, fids-cons(root, fs, ofh), pre-open(path, mode, err, user, root, fs, ofh) ⊦ ⟪if err = ESUCCESS then let fid = root[path].fid in choose n with ¬ n ∈ ofh in {ofh[n] := mkfh(fid, mode, 0); fd := n}⟫ fids-cons(root, fs, ofh)