]> git.ipfire.org Git - thirdparty/rspamd.git/commitdiff
Fix build on FreeBSD 9.1 and Current. Thanks to Anton Yuzjaninov for testing.
authorVsevolod Stakhov <vsevolod@rambler-co.ru>
Thu, 26 Jul 2012 12:43:36 +0000 (16:43 +0400)
committerVsevolod Stakhov <vsevolod@rambler-co.ru>
Thu, 26 Jul 2012 12:43:36 +0000 (16:43 +0400)
CMakeLists.txt
config.h.in
src/util.c

index 2ffe3ae304fd8517bbb964ecb38ee250e7a80d3c..d01a6672223650c65f01d7518b6edb5b3c35555b 100644 (file)
@@ -667,6 +667,7 @@ FIND_LIBRARY(LIBUTIL_LIBRARY NAMES util PATHS       PATH_SUFFIXES lib64 lib
 IF(LIBUTIL_LIBRARY)
        LIST(APPEND CMAKE_REQUIRED_LIBRARIES util)
        CHECK_FUNCTION_EXISTS(pidfile_open HAVE_PIDFILE)
+       CHECK_FUNCTION_EXISTS(pidfile_fileno HAVE_PIDFILE_FILENO)
 
        FIND_FILE(HAVE_LIBUTIL_H NAMES libutil.h PATHS /usr/include
                                                                                           /opt/include
index c1ac287cbc027969a11d1904f73a61995f4a50c0..91c1277eec7f35f39bb1c8ac39944cc10550eb19 100644 (file)
 
 #cmakedefine HAVE_PIDFILE        1
 
+#cmakedefine HAVE_PIDFILE_FILENO 1
+
 #cmakedefine HAVE_SETPROCTITLE   1
 
 #cmakedefine HAVE_GETPAGESIZE    1
index ab81a28a5e3051e7680ab5e4d9ed8cd217182ca5..a6c56ea958c7c4d14f67b98d24c0e394c214822c 100644 (file)
@@ -408,7 +408,11 @@ write_pid (struct rspamd_main *main)
 
        if (main->is_privilleged) {
                /* Force root user as owner of pid file */
+#ifdef HAVE_PIDFILE_FILENO
+               if (fchown (pidfile_fileno (main->pfh), 0, 0) == -1) {
+#else
                if (fchown (main->pfh->pf_fd, 0, 0) == -1) {
+#endif
                        msg_err ("cannot chown of pidfile %s to 0:0 user", main->cfg->pid_file);
                }
        }