summaryrefslogtreecommitdiff
path: root/lib/util/util.h
diff options
context:
space:
mode:
authorSteven Danneman <steven.danneman@isilon.com>2009-02-23 20:46:11 -0800
committerSteven Danneman <steven.danneman@isilon.com>2009-02-23 21:17:12 -0800
commit8d63c596a0f512c96f5663c0a9bd49d3c98c6df9 (patch)
treeee571c114c671ca650b68561e9abf9b14d109afe /lib/util/util.h
parent3a1b4c00eb96634229fb730e9b38e8df5180756a (diff)
downloadsamba-8d63c596a0f512c96f5663c0a9bd49d3c98c6df9.tar.gz
samba-8d63c596a0f512c96f5663c0a9bd49d3c98c6df9.tar.bz2
samba-8d63c596a0f512c96f5663c0a9bd49d3c98c6df9.zip
Refactored sys_fork() and sys_pid() into shared util library
This fixes a bug in 116ce19b, where we didn't clear the pid cache in become_daemon() and thus the /var/run/smbd.pid didn't match the actual pid of the parent process. Currently S4 will clear the pid cache on fork but doesn't yet take advantage of the pid cache by using sys_pid() instead of the direct get_pid().
Diffstat (limited to 'lib/util/util.h')
-rw-r--r--lib/util/util.h10
1 files changed, 10 insertions, 0 deletions
diff --git a/lib/util/util.h b/lib/util/util.h
index d3e446f488..27f94cd685 100644
--- a/lib/util/util.h
+++ b/lib/util/util.h
@@ -134,6 +134,16 @@ apparent reason.
_PUBLIC_ struct hostent *sys_gethostbyname(const char *name);
_PUBLIC_ struct in_addr sys_inet_makeaddr(int net, int host);
+/**
+ * Wrapper for fork used to invalid pid cache.
+ **/
+_PUBLIC_ pid_t sys_fork(void);
+
+/**
+ * Wrapper for getpid. Ensures we only do a system call *once*.
+ **/
+_PUBLIC_ pid_t sys_getpid(void);
+
/* The following definitions come from lib/util/genrand.c */
/**