aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--ChangeLog1
-rw-r--r--src/common/util.c7
2 files changed, 6 insertions, 2 deletions
diff --git a/ChangeLog b/ChangeLog
index 7d82d5d69..b5123b1fa 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -13,6 +13,7 @@ Changes in version 0.1.2.5-xxxx - 200?-??-??
a timely fashion.
- Ongoing work on eventdns infrastructure: add dns server and ipv6
support.
+ - Make PIDFile work on Windows (untested).
o Major bugfixes:
- Fix a longstanding bug in eventdns that prevented the count of
diff --git a/src/common/util.c b/src/common/util.c
index 73df89267..6cd74e998 100644
--- a/src/common/util.c
+++ b/src/common/util.c
@@ -24,6 +24,7 @@ const char util_c_id[] = "$Id$";
#ifdef MS_WINDOWS
#include <io.h>
#include <direct.h>
+#include <process.h>
#else
#include <dirent.h>
#include <pwd.h>
@@ -2015,16 +2016,18 @@ finish_daemon(const char *cp)
void
write_pidfile(char *filename)
{
-#ifndef MS_WINDOWS
FILE *pidfile;
if ((pidfile = fopen(filename, "w")) == NULL) {
log_warn(LD_FS, "Unable to open \"%s\" for writing: %s", filename,
strerror(errno));
} else {
+#ifdef MS_WINDOWS
+ fprintf(pidfile, "%d\n", (int)_getpid());
+#else
fprintf(pidfile, "%d\n", (int)getpid());
+#endif
fclose(pidfile);
}
-#endif
}