From 207bdcbe86bac5fb9e650d26b22ae33c667151e4 Mon Sep 17 00:00:00 2001 From: Eelco Dolstra Date: Mon, 31 Jan 2005 21:20:59 +0000 Subject: * Automatically remove temporary root files. --- src/libstore/gc.cc | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) (limited to 'src/libstore/gc.cc') diff --git a/src/libstore/gc.cc b/src/libstore/gc.cc index 222a1ff95cc2..af40e0b9286a 100644 --- a/src/libstore/gc.cc +++ b/src/libstore/gc.cc @@ -63,6 +63,15 @@ void addTempRoot(const Path & path) } +void removeTempRoots() +{ + if (fdTempRoots != -1) { + fdTempRoots.close(); + unlink(fnTempRoots.c_str()); + } +} + + typedef shared_ptr FDPtr; typedef list FDs; @@ -94,7 +103,8 @@ static void readTempRoots(PathSet & tempRoots, FDs & fds) if (lockFile(*fd, ltWrite, false)) { printMsg(lvlError, format("removing stale temporary roots file `%1%'") % path); - /* !!! write token, unlink */ + unlink(path.c_str()); + writeFull(*fd, (const unsigned char *) "d", 1); continue; } -- cgit 1.4.1