|
@@ -84,16 +84,20 @@ func cleanupTmpDirs() {
|
|
}
|
|
}
|
|
|
|
|
|
pid, err := strconv.Atoi(string(raw))
|
|
pid, err := strconv.Atoi(string(raw))
|
|
- if err == nil {
|
|
|
|
- if proc, err := os.FindProcess(pid); err == nil && !errors.Is(proc.Signal(syscall.Signal(0)), os.ErrProcessDone) {
|
|
|
|
- // Another running ollama, ignore this tmpdir
|
|
|
|
- continue
|
|
|
|
- }
|
|
|
|
|
|
+ if err != nil {
|
|
|
|
+ slog.Warn("failed to parse pid", "path", d, "error", err)
|
|
|
|
+ continue
|
|
}
|
|
}
|
|
|
|
|
|
- err = os.RemoveAll(d)
|
|
|
|
- if err != nil {
|
|
|
|
- slog.Debug("unable to cleanup stale tmpdir", "path", d, "error", err)
|
|
|
|
|
|
+ proc, err := os.FindProcess(pid)
|
|
|
|
+ if err == nil && !errors.Is(proc.Signal(syscall.Signal(0)), os.ErrProcessDone) {
|
|
|
|
+ slog.Warn("found running ollama", "pid", pid, "path", d)
|
|
|
|
+ // Another running ollama, ignore this tmpdir
|
|
|
|
+ continue
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ if err := os.Remove(d); err != nil {
|
|
|
|
+ slog.Warn("unable to cleanup stale tmpdir", "path", d, "error", err)
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|