util: Add documentation for PID file handling
authorMartin Schwenke <martin@meltin.net>
Wed, 2 Aug 2017 02:10:18 +0000 (12:10 +1000)
committerAmitay Isaacs <amitay@samba.org>
Thu, 17 Aug 2017 17:45:32 +0000 (19:45 +0200)
Signed-off-by: Martin Schwenke <martin@meltin.net>
Reviewed-by: Amitay Isaacs <amitay@gmail.com>
Autobuild-User(master): Amitay Isaacs <amitay@samba.org>
Autobuild-Date(master): Thu Aug 17 19:45:32 CEST 2017 on sn-devel-144

lib/util/pidfile.c
lib/util/pidfile.h

index fdf9afb5ec9b268c60abe75a7cef69b35a334dce..5cd09cee75ce5d73f4dab7bba0a5f460a5eb1c86 100644 (file)
 
 #include "lib/util/pidfile.h"
 
-/**
- * @file
- * @brief Pid file handling
- */
-
 int pidfile_path_create(const char *path, int *outfd)
 {
        struct flock lck;
index d51161afc391136b5de3a3a3db36ed86d5ff5461..b1b9f54933927a3656fdd7576d2ef914d1906a5d 100644 (file)
 #ifndef _SAMBA_PIDFILE_H_
 #define _SAMBA_PIDFILE_H_
 
+/**
+ * @file pidfile.h
+ *
+ * @brief PID file handling
+ */
+
+/**
+ * @brief Create a PID file
+ *
+ * Opens file, locks it, and writes PID.  Returns EACCES or EAGAIN if
+ * another process has the PID file locked.  Use unlink(2) and
+ * pidfile_fd_close() to remove the PID file.
+ *
+ * @param[in] path PID file name
+ * @param[out] outfd File descriptor of open/locked PID file
+ * @return 0 on success, errno on failure
+ */
 int pidfile_path_create(const char *path, int *outfd);
+
+/**
+ * @brief Unlock and close a PID file
+ *
+ * @param[in] fd File descriptor of open/locked PID file
+ */
 void pidfile_fd_close(int fd);
 
+/**
+ * @brief Check a PID file
+ *
+ * PID file name is <piddir>/<name>.pid
+ *
+ * @param[in] piddir Directory for PID file
+ * @param[in] name PID file process name
+ * @return PID of active process, 0 if PID file missing/stale/error
+ */
 pid_t pidfile_pid(const char *piddir, const char *name);
-void pidfile_create(const char *piddir, const char *program_name);
-void pidfile_unlink(const char *piddir, const char *program_name);
+
+/**
+ * @brief Create a PID file
+ *
+ * Leave PID file open/locked on success, exit on failure.  On
+ * success, use pidfile_unlink() to remove PID file before exiting.
+ *
+ * PID file name is <piddir>/<name>.pid
+ *
+ * @param[in] piddir Directory for PID file
+ * @param[in] name PID file process name
+ */
+void pidfile_create(const char *piddir, const char *name);
+
+/**
+ * @brief Remove a PID file
+ *
+ * PID file name is <piddir>/<name>.pid
+ *
+ * @param[in] piddir Directory for PID file
+ * @param[in] name PID file process name
+ */
+void pidfile_unlink(const char *piddir, const char *name);
 
 #endif