- Update to 2.2.

PR:		ports/117014
Submitted by:	Sergey Prikhodko <sergey@network-asp.biz>
Approved by:	Josh Tolbert <hemi@puresimplicity.net> (maintainer),
		stas (mentor, implicit)
This commit is contained in:
Marcelo Araujo 2007-12-16 13:20:08 +00:00
parent d5f5e23777
commit 7db15e4117
Notes: svn2git 2021-03-31 03:12:20 +00:00
svn path=/head/; revision=203850
4 changed files with 7 additions and 106 deletions

View File

@ -6,8 +6,7 @@
#
PORTNAME= mod_fcgid
PORTVERSION= 2.1
PORTREVISION= 2
PORTVERSION= 2.2
CATEGORIES= www
MASTER_SITES= ${MASTER_SITE_SOURCEFORGE_EXTENDED}
MASTER_SITE_SUBDIR= ${PORTNAME:S/_/-/}

View File

@ -1,3 +1,3 @@
MD5 (mod_fcgid.2.1.tar.gz) = 0bc036276e378463c80617ff57e853dc
SHA256 (mod_fcgid.2.1.tar.gz) = 9d847f66f8067c5b8de06088a04356d22cee9ced2db7d04be6d6a7613c6b83df
SIZE (mod_fcgid.2.1.tar.gz) = 54359
MD5 (mod_fcgid.2.2.tar.gz) = ce7d7b16e69643dbd549d43d85025983
SHA256 (mod_fcgid.2.2.tar.gz) = 7a0985a120dceb4c6974e8bf216752b0b763ae949f5dfbbf93cc350510e4c80e
SIZE (mod_fcgid.2.2.tar.gz) = 56954

View File

@ -1,98 +0,0 @@
--- arch/unix/fcgid_proctbl_unix.c.orig Fri Feb 16 04:34:41 2007
+++ arch/unix/fcgid_proctbl_unix.c Tue Feb 27 18:33:28 2007
@@ -1,4 +1,5 @@
#include "fcgid_proctbl.h"
+#include "apr_version.h"
#include "apr_shm.h"
#include "apr_global_mutex.h"
#include "fcgid_global.h"
@@ -17,6 +18,89 @@
static fcgid_share *_global_memory = NULL;
static fcgid_global_share *g_global_share = NULL; /* global information */
static size_t g_table_size = FCGID_PROC_TABLE_SIZE;
+
+/* apr version 0.x not support apr_shm_remove, I have to copy it from apr version 1.x */
+#if (APR_MAJOR_VERSION < 1)
+#ifdef HAVE_SYS_MMAN_H
+#include <sys/mman.h>
+#endif
+#ifdef HAVE_SYS_IPC_H
+#include <sys/ipc.h>
+#endif
+#ifdef HAVE_SYS_MUTEX_H
+#include <sys/mutex.h>
+#endif
+#ifdef HAVE_SYS_SHM_H
+#include <sys/shm.h>
+#endif
+#if !defined(SHM_R)
+#define SHM_R 0400
+#endif
+#if !defined(SHM_W)
+#define SHM_W 0200
+#endif
+#ifdef HAVE_SYS_FILE_H
+#include <sys/file.h>
+#endif
+
+static apr_status_t apr_shm_remove(const char *filename, apr_pool_t * pool)
+{
+#if APR_USE_SHMEM_SHMGET
+ apr_status_t status;
+ apr_file_t *file;
+ key_t shmkey;
+ int shmid;
+#endif
+
+#if APR_USE_SHMEM_MMAP_TMP
+ return apr_file_remove(filename, pool);
+#endif
+#if APR_USE_SHMEM_MMAP_SHM
+ if (shm_unlink(filename) == -1) {
+ return errno;
+ }
+ return APR_SUCCESS;
+#endif
+#if APR_USE_SHMEM_SHMGET
+ /* Presume that the file already exists; just open for writing */
+ status = apr_file_open(&file, filename, APR_WRITE,
+ APR_OS_DEFAULT, pool);
+ if (status) {
+ return status;
+ }
+
+ /* ftok() (on solaris at least) requires that the file actually
+ * exist before calling ftok(). */
+ shmkey = ftok(filename, 1);
+ if (shmkey == (key_t) - 1) {
+ goto shm_remove_failed;
+ }
+
+ apr_file_close(file);
+
+ if ((shmid = shmget(shmkey, 0, SHM_R | SHM_W)) < 0) {
+ goto shm_remove_failed;
+ }
+
+ /* Indicate that the segment is to be destroyed as soon
+ * as all processes have detached. This also disallows any
+ * new attachments to the segment. */
+ if (shmctl(shmid, IPC_RMID, NULL) == -1) {
+ goto shm_remove_failed;
+ }
+ return apr_file_remove(filename, pool);
+
+ shm_remove_failed:
+ status = errno;
+ /* ensure the file has been removed anyway. */
+ apr_file_remove(filename, pool);
+ return status;
+#endif
+
+ /* No support for anonymous shm */
+ return APR_ENOTIMPL;
+}
+#endif /* APR_MAJOR_VERSION<1 */
apr_status_t
proctable_post_config(server_rec * main_server, apr_pool_t * configpool)

View File

@ -1,6 +1,6 @@
--- fcgid_conf.c.orig Mon Jul 26 07:08:03 2004
+++ fcgid_conf.c Fri Aug 13 05:04:44 2004
@@ -15,7 +15,7 @@
--- fcgid_conf.c.orig 2007-07-31 04:09:20.000000000 -0500
+++ fcgid_conf.c 2007-10-08 08:17:12.000000000 -0500
@@ -17,8 +17,8 @@
#define DEFAULT_ERROR_SCAN_INTERVAL 3
#define DEFAULT_ZOMBIE_SCAN_INTERVAL 3
#define DEFAULT_PROC_LIFETIME (60*60)