diff options
| author | ยท๐๐ด๐๐๐ฉ๐ค | 2025-12-31 08:42:05 +0000 |
|---|---|---|
| committer | ยท๐๐ด๐๐๐ฉ๐ค | 2025-12-31 08:42:05 +0000 |
| commit | 51c75ab1af61ab608c7891ad0e062fd69355ea8b (patch) | |
| tree | 05905fce97b357043c2e894aeccb9ef04e0943e7 | |
| parent | 31891de488750bd636d51dba9e062c39ba82c3da (diff) | |
| download | nixtaml-51c75ab1af61ab608c7891ad0e062fd69355ea8b.tar nixtaml-51c75ab1af61ab608c7891ad0e062fd69355ea8b.tar.gz nixtaml-51c75ab1af61ab608c7891ad0e062fd69355ea8b.tar.bz2 nixtaml-51c75ab1af61ab608c7891ad0e062fd69355ea8b.tar.lz nixtaml-51c75ab1af61ab608c7891ad0e062fd69355ea8b.tar.xz nixtaml-51c75ab1af61ab608c7891ad0e062fd69355ea8b.tar.zst nixtaml-51c75ab1af61ab608c7891ad0e062fd69355ea8b.zip | |
silo: if failed to link, try to set up silo + retry link
| -rw-r--r-- | lib/input_foreman.ml | 10 |
1 files changed, 9 insertions, 1 deletions
diff --git a/lib/input_foreman.ml b/lib/input_foreman.ml index 02020a1..ed6374a 100644 --- a/lib/input_foreman.ml +++ b/lib/input_foreman.ml @@ -195,7 +195,15 @@ let make_silo_link ~name ~link_to = let path = Eio.Path.(Working_directory.(get () / silo_dir) / name) in Logs.info (fun m -> m "Silo: filling with %s โฆ %a โฆ" name Eio.Path.pp path); unlink_or_rm_silo ~at: (`Path path); - Eio.Path.symlink path ~link_to + try + Eio.Path.symlink path ~link_to + with + | Eio.(Exn.Io (Fs.E (Fs.Not_found _), _)) -> + Logs.debug (fun m -> m "Silo: failed to link %s; will try to set up the silo & retry link โฆ" name); + Working_directory.set_up_silo (); + Eio.Path.symlink path ~link_to + | exn -> + raise exn let clean_unlisted_from_silo () = Logs.debug (fun m -> m "Silo: cleaning unlisted โฆ"); |
