summaryrefslogtreecommitdiff
path: root/lib/pid_output.c
diff options
context:
space:
mode:
authorDonald Sharp <sharpd@cumulusnetworks.com>2018-06-14 09:13:18 -0400
committerQuentin Young <qlyoung@cumulusnetworks.com>2018-08-14 20:02:05 +0000
commit481bc15ffcebcc7d0395a3ffa8ce70249e221d5b (patch)
tree9c11638144a147251871840b9fb94429433cfe32 /lib/pid_output.c
parent3ec8b5b8980bb0267f32dfc2508c457db55d5156 (diff)
lib: Add LIB_ERR_SYSTEM_CALL and convert VRF_SOCKET to SOCKET
Add a new error code LIB_ERR_SYSTEM_CALL to the ferr subsystem. Additionally convert LIB_ERR_VRF_SOCKET to a more generic LIB_ERR_SOCKET. Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
Diffstat (limited to 'lib/pid_output.c')
-rw-r--r--lib/pid_output.c25
1 files changed, 14 insertions, 11 deletions
diff --git a/lib/pid_output.c b/lib/pid_output.c
index 023a166f27..21687e48c4 100644
--- a/lib/pid_output.c
+++ b/lib/pid_output.c
@@ -24,6 +24,7 @@
#include <log.h>
#include "version.h"
#include "network.h"
+#include "lib_errors.h"
#define PIDFILE_MASK 0644
@@ -41,8 +42,9 @@ pid_t pid_output(const char *path)
oldumask = umask(0777 & ~PIDFILE_MASK);
fd = open(path, O_RDWR | O_CREAT, PIDFILE_MASK);
if (fd < 0) {
- zlog_err("Can't create pid lock file %s (%s), exiting", path,
- safe_strerror(errno));
+ zlog_ferr(LIB_ERR_SYSTEM_CALL,
+ "Can't create pid lock file %s (%s), exiting", path,
+ safe_strerror(errno));
umask(oldumask);
exit(1);
} else {
@@ -57,22 +59,23 @@ pid_t pid_output(const char *path)
lock.l_whence = SEEK_SET;
if (fcntl(fd, F_SETLK, &lock) < 0) {
- zlog_err("Could not lock pid_file %s (%s), exiting",
- path, safe_strerror(errno));
+ zlog_ferr(LIB_ERR_SYSTEM_CALL,
+ "Could not lock pid_file %s (%s), exiting",
+ path, safe_strerror(errno));
exit(1);
}
sprintf(buf, "%d\n", (int)pid);
pidsize = strlen(buf);
if ((tmp = write(fd, buf, pidsize)) != (int)pidsize)
- zlog_err(
- "Could not write pid %d to pid_file %s, rc was %d: %s",
- (int)pid, path, tmp, safe_strerror(errno));
+ zlog_ferr(LIB_ERR_SYSTEM_CALL,
+ "Could not write pid %d to pid_file %s, rc was %d: %s",
+ (int)pid, path, tmp, safe_strerror(errno));
else if (ftruncate(fd, pidsize) < 0)
- zlog_err(
- "Could not truncate pid_file %s to %u bytes: %s",
- path, (unsigned int)pidsize,
- safe_strerror(errno));
+ zlog_ferr(LIB_ERR_SYSTEM_CALL,
+ "Could not truncate pid_file %s to %u bytes: %s",
+ path, (unsigned int)pidsize,
+ safe_strerror(errno));
}
return pid;
}