]> granicus.if.org Git - apache/commitdiff
Add unixd_set_global_mutex_perms so we can set permissions on things like
authorAaron Bannert <aaron@apache.org>
Mon, 6 May 2002 18:19:53 +0000 (18:19 +0000)
committerAaron Bannert <aaron@apache.org>
Mon, 6 May 2002 18:19:53 +0000 (18:19 +0000)
SysV Semaphores in the core and modules.

git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@94968 13f79535-47bb-0310-9956-ffa450edef68

os/unix/unixd.c
os/unix/unixd.h

index 5b655d36e436e8327b34c4ede503be59178eaf3e..16249dfe4aec68fd2f29e3488374dd4e1cb423d3 100644 (file)
@@ -414,6 +414,18 @@ AP_DECLARE(apr_status_t) unixd_set_proc_mutex_perms(apr_proc_mutex_t *pmutex)
     return APR_SUCCESS;
 }
 
+AP_DECLARE(apr_status_t) unixd_set_global_mutex_perms(apr_global_mutex_t *gmutex)
+{
+#if !APR_PROCESS_LOCK_IS_GLOBAL
+    apr_os_global_mutex_t osgmutex;
+    apr_os_global_mutex_get(&osgmutex, gmutex);
+    return unixd_set_proc_mutex_perms(osgmutex.proc_mutex);
+#else  /* APR_PROCESS_LOCK_IS_GLOBAL */
+    /* In this case, apr_proc_mutex_t and apr_global_mutex_t are the same. */
+    return unixd_set_proc_mutex_perms((apr_proc_mutex_t *)gmutex);
+#endif /* APR_PROCESS_LOCK_IS_GLOBAL */
+}
+
 AP_DECLARE(apr_status_t) unixd_accept(void **accepted, ap_listen_rec *lr,
                                         apr_pool_t *ptrans)
 {
index 144cdf979fb63d89d198c8d3d5bdfa8fa4614f11..7f8498580a5141fcde09263fc3906ef845ee3639 100644 (file)
@@ -71,6 +71,7 @@
 #include "apr_hooks.h"
 #include "apr_thread_proc.h"
 #include "apr_proc_mutex.h"
+#include "apr_global_mutex.h"
 
 #include <pwd.h>
 #include <grp.h>
@@ -120,6 +121,7 @@ AP_DECLARE(void) unixd_set_rlimit(cmd_parms *cmd, struct rlimit **plimit,
                            const char *arg, const char * arg2, int type);
 #endif
 AP_DECLARE(apr_status_t) unixd_set_proc_mutex_perms(apr_proc_mutex_t *pmutex);
+AP_DECLARE(apr_status_t) unixd_set_global_mutex_perms(apr_global_mutex_t *gmutex);
 AP_DECLARE(apr_status_t) unixd_accept(void **accepted, ap_listen_rec *lr, apr_pool_t *ptrans);
 
 #ifdef HAVE_KILLPG