MCPcopy Create free account
hub / github.com/F-Stack/f-stack / _pidfile_remove

Function _pidfile_remove

tools/libutil/pidfile.c:285–314  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

283}
284
285static int
286_pidfile_remove(struct pidfh *pfh, int freeit)
287{
288 int error;
289
290 error = pidfile_verify(pfh);
291 if (error != 0) {
292 errno = error;
293 return (-1);
294 }
295
296 if (funlinkat(pfh->pf_dirfd, pfh->pf_filename, pfh->pf_fd, 0) == -1) {
297 if (errno == EDEADLK)
298 return (-1);
299 error = errno;
300 }
301 if (close(pfh->pf_fd) == -1 && error == 0)
302 error = errno;
303 if (close(pfh->pf_dirfd) == -1 && error == 0)
304 error = errno;
305 if (freeit)
306 free(pfh);
307 else
308 pfh->pf_fd = -1;
309 if (error != 0) {
310 errno = error;
311 return (-1);
312 }
313 return (0);
314}
315
316int
317pidfile_remove(struct pidfh *pfh)

Callers 2

pidfile_writeFunction · 0.85
pidfile_removeFunction · 0.85

Calls 3

pidfile_verifyFunction · 0.85
closeFunction · 0.50
freeFunction · 0.50

Tested by

no test coverage detected