MCPcopy
hub / github.com/garrytan/gstack / cleanSingletonLocks

Function cleanSingletonLocks

browse/src/config.ts:201–220  ·  view source on GitHub ↗
(userDataDir: string)

Source from the content-addressed store, hash-verified

199 * check for gstack).
200 */
201export function cleanSingletonLocks(userDataDir: string): void {
202 if (!path.isAbsolute(userDataDir)) {
203 console.warn(`[browse] cleanSingletonLocks: refusing relative path: ${userDataDir}`);
204 return;
205 }
206 const resolved = path.resolve(userDataDir);
207 const basename = path.basename(resolved);
208 const explicitProfile = process.env.CHROMIUM_PROFILE;
209 const explicitAbs = explicitProfile && path.isAbsolute(explicitProfile)
210 ? path.resolve(explicitProfile)
211 : null;
212 const isSafe = basename === 'chromium-profile' || (explicitAbs !== null && resolved === explicitAbs);
213 if (!isSafe) {
214 console.warn(`[browse] cleanSingletonLocks: refusing to clean unrecognized profile dir: ${resolved}`);
215 return;
216 }
217 for (const lockFile of ['SingletonLock', 'SingletonSocket', 'SingletonCookie']) {
218 safeUnlinkQuiet(path.join(resolved, lockFile));
219 }
220}

Callers 4

config.test.tsFile · 0.90
launchHeadedMethod · 0.90
emergencyCleanupFunction · 0.90
shutdownFunction · 0.90

Calls 1

safeUnlinkQuietFunction · 0.90

Tested by

no test coverage detected