summaryrefslogtreecommitdiff
path: root/www/pecl-APC-devel/files/patch-apc_sem.c
diff options
context:
space:
mode:
Diffstat (limited to 'www/pecl-APC-devel/files/patch-apc_sem.c')
-rw-r--r--www/pecl-APC-devel/files/patch-apc_sem.c35
1 files changed, 0 insertions, 35 deletions
diff --git a/www/pecl-APC-devel/files/patch-apc_sem.c b/www/pecl-APC-devel/files/patch-apc_sem.c
deleted file mode 100644
index d83ba6d5a51f..000000000000
--- a/www/pecl-APC-devel/files/patch-apc_sem.c
+++ /dev/null
@@ -1,35 +0,0 @@
-#
-# Fix http://pecl.php.net/bugs/bug.php?id=5280
-#
---- apc_sem.c.orig 2008-01-25 00:32:24.000000000 -0200
-+++ apc_sem.c 2008-01-25 00:35:28.000000000 -0200
-@@ -82,12 +82,16 @@
- }
- }
-
-- if ((semid = semget(key, 1, IPC_CREAT | IPC_EXCL | perms)) >= 0) {
-+ if ((semid = semget(key, 2, IPC_CREAT | IPC_EXCL | perms)) >= 0) {
- /* sempahore created for the first time, initialize now */
- arg.val = initval;
- if (semctl(semid, 0, SETVAL, arg) < 0) {
- apc_eprint("apc_sem_create: semctl(%d,...) failed:", semid);
- }
-+ arg.val = getpid();
-+ if (semctl(semid, 1, SETVAL, arg) < 0) {
-+ apc_eprint("apc_sem_create: semctl(%d,...) failed:", semid);
-+ }
- }
- else if (errno == EEXIST) {
- /* sempahore already exists, don't initialize */
-@@ -107,7 +111,10 @@
- {
- /* we expect this call to fail often, so we do not check */
- union semun arg;
-- semctl(semid, 0, IPC_RMID, arg);
-+ int semPid = semctl(semid, 1, GETVAL, 0);
-+ if (semPid == getpid()) {
-+ semctl(semid, 0, IPC_RMID, arg);
-+ }
- }
-
- void apc_sem_lock(int semid)