summaryrefslogtreecommitdiffstats
path: root/apcu-upstream.patch
diff options
context:
space:
mode:
Diffstat (limited to 'apcu-upstream.patch')
-rw-r--r--apcu-upstream.patch273
1 files changed, 0 insertions, 273 deletions
diff --git a/apcu-upstream.patch b/apcu-upstream.patch
deleted file mode 100644
index 78c4c65..0000000
--- a/apcu-upstream.patch
+++ /dev/null
@@ -1,273 +0,0 @@
-diff --git a/apc_arginfo.h b/apc_arginfo.h
-index 0bd61c9..8ba2686 100644
---- a/apc_arginfo.h
-+++ b/apc_arginfo.h
-@@ -76,6 +76,10 @@ ZEND_BEGIN_ARG_INFO_EX(arginfo_apcu_entry, 0, 0, 2)
- ZEND_ARG_TYPE_INFO(0, generator, IS_CALLABLE, 0)
- ZEND_ARG_TYPE_INFO(0, ttl, IS_LONG, 0)
- ZEND_END_ARG_INFO()
-+
-+ZEND_BEGIN_ARG_INFO_EX(arginfo_apcu_inc_request_time, 0, 0, 0)
-+ ZEND_ARG_INFO(0, by)
-+ZEND_END_ARG_INFO()
- /* }}} */
-
- #endif
-diff --git a/apc_globals.h b/apc_globals.h
-index 74c8f27..87625c9 100644
---- a/apc_globals.h
-+++ b/apc_globals.h
-@@ -62,7 +62,7 @@ ZEND_BEGIN_MODULE_GLOBALS(apcu)
-
- char *serializer_name; /* the serializer config option */
-
-- volatile zend_bool recursion;
-+ volatile unsigned recursion;
- ZEND_END_MODULE_GLOBALS(apcu)
-
- /* (the following is defined in php_apc.c) */
-diff --git a/apc_iterator.c b/apc_iterator.c
-index 302b086..f601a27 100644
---- a/apc_iterator.c
-+++ b/apc_iterator.c
-@@ -297,7 +297,8 @@ static void apc_iterator_totals(apc_iterator_t *iterator) {
- void apc_iterator_obj_init(apc_iterator_t *iterator, zval *search, zend_long format, zend_long chunk_size, zend_long list)
- {
- if (!APCG(enabled)) {
-- apc_error("APC must be enabled to use " APC_ITERATOR_NAME);
-+ zend_throw_error(NULL, "APC must be enabled to use " APC_ITERATOR_NAME);
-+ return;
- }
-
- if (chunk_size < 0) {
-diff --git a/apc_signal.c b/apc_signal.c
-index aff13c8..22504e5 100644
---- a/apc_signal.c
-+++ b/apc_signal.c
-@@ -113,7 +113,7 @@ static void apc_rehandle_signal(int signo, siginfo_t *siginfo, void *context)
- */
- static int apc_register_signal(int signo, void (*handler)(int, siginfo_t*, void*))
- {
-- struct sigaction sa = {{0}};
-+ struct sigaction sa;
- apc_signal_entry_t p_sig = {0};
-
- if (sigaction(signo, NULL, &sa) == 0) {
-diff --git a/apc_sma.c b/apc_sma.c
-index da457d3..3150d92 100644
---- a/apc_sma.c
-+++ b/apc_sma.c
-@@ -234,8 +234,8 @@ static APC_HOTSPOT size_t sma_deallocate(void* shmaddr, size_t offset)
- block_t* nxt; /* the block after cur */
- size_t size; /* size of deallocated block */
-
-+ assert(offset >= ALIGNWORD(sizeof(struct block_t)));
- offset -= ALIGNWORD(sizeof(struct block_t));
-- assert(offset >= 0);
-
- /* find position of new block in free list */
- cur = BLOCKAT(offset);
-diff --git a/php_apc.c b/php_apc.c
-index ad9351d..e08a770 100644
---- a/php_apc.c
-+++ b/php_apc.c
-@@ -93,7 +93,7 @@ static void php_apc_init_globals(zend_apcu_globals* apcu_globals)
- apcu_globals->smart = 0;
- apcu_globals->preload_path = NULL;
- apcu_globals->coredump_unmap = 0;
-- apcu_globals->use_request_time = 1;
-+ apcu_globals->use_request_time = 0;
- apcu_globals->serializer_name = NULL;
- apcu_globals->recursion = 0;
- }
-@@ -151,7 +151,7 @@ STD_PHP_INI_BOOLEAN("apc.enable_cli", "0", PHP_INI_SYSTEM, OnUpdateBool,
- STD_PHP_INI_BOOLEAN("apc.slam_defense", "0", PHP_INI_SYSTEM, OnUpdateBool, slam_defense, zend_apcu_globals, apcu_globals)
- STD_PHP_INI_ENTRY("apc.preload_path", (char*)NULL, PHP_INI_SYSTEM, OnUpdateString, preload_path, zend_apcu_globals, apcu_globals)
- STD_PHP_INI_BOOLEAN("apc.coredump_unmap", "0", PHP_INI_SYSTEM, OnUpdateBool, coredump_unmap, zend_apcu_globals, apcu_globals)
--STD_PHP_INI_BOOLEAN("apc.use_request_time", "1", PHP_INI_ALL, OnUpdateBool, use_request_time, zend_apcu_globals, apcu_globals)
-+STD_PHP_INI_BOOLEAN("apc.use_request_time", "0", PHP_INI_ALL, OnUpdateBool, use_request_time, zend_apcu_globals, apcu_globals)
- STD_PHP_INI_ENTRY("apc.serializer", "php", PHP_INI_SYSTEM, OnUpdateStringUnempty, serializer_name, zend_apcu_globals, apcu_globals)
- PHP_INI_END()
-
-@@ -475,12 +475,14 @@ static void apc_store_helper(INTERNAL_FUNCTION_PARAMETERS, const zend_bool exclu
- ZEND_HASH_FOREACH_KEY_VAL(hash, hkey_idx, hkey, hentry) {
- ZVAL_DEREF(hentry);
- if (hkey) {
-- if (!apc_cache_store(apc_user_cache, hkey, hentry, (uint32_t) ttl, exclusive)) {
-- zend_hash_add_new(Z_ARRVAL_P(return_value), hkey, &fail_zv);
-- }
-+ zend_string_addref(hkey);
- } else {
-- zend_hash_index_add_new(Z_ARRVAL_P(return_value), hkey_idx, &fail_zv);
-+ hkey = zend_long_to_str(hkey_idx);
-+ }
-+ if (!apc_cache_store(apc_user_cache, hkey, hentry, (uint32_t) ttl, exclusive)) {
-+ zend_symtable_add_new(Z_ARRVAL_P(return_value), hkey, &fail_zv);
- }
-+ zend_string_release(hkey);
- } ZEND_HASH_FOREACH_END();
- return;
- } else if (Z_TYPE_P(key) == IS_STRING) {
-@@ -500,6 +502,9 @@ static void apc_store_helper(INTERNAL_FUNCTION_PARAMETERS, const zend_bool exclu
- /* {{{ proto bool apcu_enabled(void)
- returns true when apcu is usable in the current environment */
- PHP_FUNCTION(apcu_enabled) {
-+ if (zend_parse_parameters_none() == FAILURE) {
-+ return;
-+ }
- RETURN_BOOL(APCG(enabled));
- }
- /* }}} */
-@@ -798,7 +803,7 @@ zend_function_entry apcu_functions[] = {
- PHP_FE(apcu_exists, arginfo_apcu_exists)
- PHP_FE(apcu_entry, arginfo_apcu_entry)
- #ifdef APC_DEBUG
-- PHP_FE(apcu_inc_request_time, NULL)
-+ PHP_FE(apcu_inc_request_time, arginfo_apcu_inc_request_time)
- #endif
- PHP_FE_END
- };
-diff --git a/tests/apc_disabled.phpt b/tests/apc_disabled.phpt
-index 184a759..c3f9adf 100644
---- a/tests/apc_disabled.phpt
-+++ b/tests/apc_disabled.phpt
-@@ -40,6 +40,13 @@ var_dump(apcu_cas("key", 10, 20));
- echo "\nentry\n";
- var_dump(apcu_entry("key", function() { return 42; }));
-
-+echo "\niterator\n";
-+try {
-+ new APCUIterator;
-+} catch (Error $e) {
-+ echo $e->getMessage(), "\n";
-+}
-+
- ?>
- --EXPECTF--
- enabled
-@@ -91,3 +98,6 @@ bool(false)
-
- entry
- NULL
-+
-+iterator
-+APC must be enabled to use APCuIterator
-diff --git a/tests/apc_entry_003.phpt b/tests/apc_entry_003.phpt
-index f066583..e04bf4b 100644
---- a/tests/apc_entry_003.phpt
-+++ b/tests/apc_entry_003.phpt
-@@ -13,4 +13,4 @@ $value = apcu_entry("test", function($key) {
- });
- ?>
- --EXPECTF--
--Fatal error: Trait 'T' not found in %s on line %d
-+Fatal error: %s
-diff --git a/tests/apc_store_array_int_keys.phpt b/tests/apc_store_array_int_keys.phpt
-new file mode 100644
-index 0000000..654f70c
---- /dev/null
-+++ b/tests/apc_store_array_int_keys.phpt
-@@ -0,0 +1,26 @@
-+--TEST--
-+apcu_store() with int keys in array should convert them to string
-+--SKIPIF--
-+<?php
-+require_once(__DIR__ . '/skipif.inc');
-+?>
-+--INI--
-+apc.enabled=1
-+apc.enable_cli=1
-+--FILE--
-+<?php
-+
-+var_dump(apcu_add(["123" => "test"]));
-+var_dump(apcu_store(["123" => "test"]));
-+var_dump(apcu_add(["123" => "test"]));
-+
-+?>
-+--EXPECT--
-+array(0) {
-+}
-+array(0) {
-+}
-+array(1) {
-+ [123]=>
-+ int(-1)
-+}
-diff --git a/tests/apc_store_reference.phpt b/tests/apc_store_reference.phpt
-index 2228899..d2cb991 100644
---- a/tests/apc_store_reference.phpt
-+++ b/tests/apc_store_reference.phpt
-@@ -4,6 +4,8 @@ The outermost value should always be a value, not a reference
- apc.enabled=1
- apc.enable_cli=1
- apc.serializer=default
-+--SKIPIF--
-+<?php if (PHP_VERSION_ID >= 80000) die('skip Requires PHP < 8.0.0'); ?>
- --FILE--
- <?php
-
-diff --git a/tests/apc_store_reference_php8.phpt b/tests/apc_store_reference_php8.phpt
-new file mode 100644
-index 0000000..1eae4bb
---- /dev/null
-+++ b/tests/apc_store_reference_php8.phpt
-@@ -0,0 +1,26 @@
-+--TEST--
-+The outermost value should always be a value, not a reference
-+--INI--
-+apc.enabled=1
-+apc.enable_cli=1
-+apc.serializer=default
-+--SKIPIF--
-+<?php if (PHP_VERSION_ID < 80000) die('skip Requires PHP >= 8.0.0'); ?>
-+--FILE--
-+<?php
-+
-+/* The output is different for the php serializer, because it does not replicate the
-+ * cycle involving the top-level value. Instead the cycle is placed one level lower.
-+ * I believe this is a bug in the php serializer. */
-+
-+$value = [&$value];
-+apcu_store(["key" => &$value]);
-+$result = apcu_fetch("key");
-+var_dump($result);
-+
-+?>
-+--EXPECT--
-+array(1) {
-+ [0]=>
-+ *RECURSION*
-+}
-diff --git a/tests/server_test.inc b/tests/server_test.inc
-index 2aede0c..75035a3 100644
---- a/tests/server_test.inc
-+++ b/tests/server_test.inc
-@@ -44,6 +44,7 @@ function server_start_one($host, $port, $code = 'echo "Hello world";', $php_opts
- $cmd .= " {$router}";
- }
-
-+ $descriptorspec[2] = array('pipe', 'w');
- $handle = proc_open(addslashes($cmd), $descriptorspec, $pipes, $doc_root, NULL, array("bypass_shell" => true, "suppress_errors" => true));
- } else {
- $cmd = "exec {$php_executable} -n $php_args -t {$doc_root} -S $host:$port";
-From 7a1989e306d78f4bb9276abbad9cf0db35c9d06e Mon Sep 17 00:00:00 2001
-From: Remi Collet <remi@remirepo.net>
-Date: Wed, 2 Sep 2020 12:07:57 +0200
-Subject: [PATCH] fix #399 relax test for PHP 8
-
----
- tests/not_enough_shm.phpt | 3 +--
- 1 file changed, 1 insertion(+), 2 deletions(-)
-
-diff --git a/tests/not_enough_shm.phpt b/tests/not_enough_shm.phpt
-index 0b5ea1b..acb3c31 100644
---- a/tests/not_enough_shm.phpt
-+++ b/tests/not_enough_shm.phpt
-@@ -8,5 +8,4 @@ apc.entries_hint=1000000
- --FILE--
- Irrelevant
- --EXPECTF--
--%A
--Fatal error: Unable to allocate %d bytes of shared memory for cache structures. Either apc.shm_size is too small or apc.entries_hint too large in Unknown on line 0
-+%A: Unable to allocate %d bytes of shared memory for cache structures. Either apc.shm_size is too small or apc.entries_hint too large in Unknown on line 0