Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/phpredis/phpredis.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2016-02-15More memory leak fixesmichael-grunder
2016-02-14Memory leak fixesmichael-grunder
2016-01-25Various memory related fixes for php7michael-grunder
The php7 api has substantial changes in the way one goes about interacting with the zval type (php's internal structure for dealing with dynamically typed variables). Most notably, most everything is dereferenced by one pointer. So, where you once used zval** you typically use zval*, and where you used zval* you now just use a zval struct on the stack. In addition, the api changed in how you return a string. Previously you had the option of whether or not to "duplicate" the memory returned (or in other words, pass ownership of the pointer to PHP or not). Because phpredis sometimes buffers commands to the server (say in the case of a pipeline, or a MULTI/EXEC) transaction, we had several stack violations and/or memory corruption which resulted from keeping track of the address of a stack allocated structure, which was accessed at a later date (sometimes causing segmentation faults, bus errors, etc). Also, there were a few places where this pattern was being used: zval **ptr = emalloc(sizeof(zval*) * count); /* stuff */ ZVAL_STRING(ptr[0], "hello world"); Given that ZVAL_STRING() thinks it's writing to an allocated structure it would cause various random issues (because we were blowing through the data segment and writing into the code section). This commit (so far) fixes all of the segmentation faults and memory errors but there are still leaks (specifically in RedisArray) that need to be solved. Addresses #727
2015-12-20Attempted solution to #707 and cleaned up some memory leaks/invalid freesmichael-grunder
2015-12-19Fix segfault for php7 and RedisArraymichael-grunder
Addresses #707
2015-09-09Fix signed/unsigned mismatchJan-E
2015-09-09Fix incompatible typesJan-E
2015-09-08Fix compile errors in redis_session.cSean DuBois
2015-09-06Fixing test fails, no large changes mostly invalid frees and off-by-onesSean DuBois
2015-09-06Use heap allocated zvals instead of dynamic arraysSean DuBois
2015-09-06* retab, some files had tabs instead of 4 spacesSean DuBois
* When converting zval from heap -> stack allocation some frees were left, causing invalid frees on stack values * zend_parse* was use int instead of size_t when consuming strings, causing undefined behavior
2015-09-04Fix compile time errors for redis_array_impl.cSean DuBois
2015-09-03Fix compile time errors for redis_array.cSean DuBois
2015-01-30Call zval destructor if we fall back to prevent leakmichael-grunder
2015-01-28Replace calls to zend_hash_quick_find with NULL argumentsMichael Maclean
2014-10-23Merge branch 'int-ra-timeout' into developmichael-grunder
2014-10-23Remove debug linemichael-grunder
2014-10-20Allow integer connect_timeout in RedisArraymichael-grunder
Addresses #520
2014-07-06Merge branch 'hotfix/win32-fixes' into developmichael-grunder
Conflicts: redis.c
2014-07-01fix unreferenced variable warningsAnatol Belski
2014-07-01fixes after the mergeAnatol Belski
2014-07-01Merge remote-tracking branch 'vostok4/master'Anatol Belski
Conflicts: CREDITS README.markdown config.w32 library.c library.h package.xml redis.c redis_array.c redis_array.h redis_array_impl.c redis_array_impl.h tests/TestRedis.php
2014-07-01added redis array stuff to win part done some fixes to itAnatol Belski
2014-05-15SAVE and BGSAVE are distrubte commandsmichael-grunder
SAVE and BGSAVE need to be passed through multihost_distribute Refs #472
2014-04-09Fix comments for C89 compatibilityvostok4
2014-04-09Merge nicolasff:b9a16b5ad5 in, fixing for Win32vostok4
Now we should be up to master with upstream for an easier merge.
2014-03-11Merge branch 'hotfix/ra_autorehash' into developmichael-grunder
Conflicts: redis_array.c
2014-03-11Fix autorehashing in RedisArraymichael-grunder
This commit fixes auto rehashing in RedisArray as well as fixes a couple of memory leaks found along the way Addresses #442 and #294
2014-02-23add support for 'connect_timeout' option for redis arraysMike
Conflicts: redis_array.c redis_array_impl.c redis_array_impl.h
2014-02-21Don't attempt MGET on nodes where no keys resolvemichael-grunder
The MGET call in RedisArray was failing under circumstances where none of the passed keys hashed into any given node in the ring. What was happening is that RedisArray was passing through to the phpredis MGET command an empty array, which was returning false. This in turn caused RedisArray to abort the process and return false as well. This change updates RedisArray MGET such that if a given node doesn't have any keys, we skip the call to it all together. Addresses #435 Addresses #436
2013-10-18Further fixes for building on VC9 Win32, C89 compliancevostok4
Include win32/php_stdint.h on Win32 (fixes compilation on VC9) Change C++ comments to C89 style (to adhere to PHP project)
2013-10-10Fix compilation errors on Win32 with VC11vostok4
This brings the W32 compilation fixes done by @char101 up to date and allows building of php_redis.dll with VC11 on Win32 (allows for a php5.5 version).
2013-08-11Fix argument order sent to ra_make_arraymichael-grunder
2013-08-11Integrating mobli's lazy connect and retry intervalmichael-grunder
2013-08-11Merge remote-tracking branch 'mobli/develop' into feature/mobli_ra_changesmichael-grunder
Conflicts: redis_array.c redis_array_impl.c redis_array_impl.h
2013-08-11Merge branch 'feature/ra_mset_intkeys' into developmichael-grunder
2013-08-11Persistent connections with RedisArraymichael-grunder
Re-integrating the now old ra-performance branch into a git-flow branch. I could have merged it but this was easier with so few changes
2013-08-07Make sure RedisArray::mget returns an arraymichael-grunder
Add a check in mget to make sure that the forwarded call is returning with an array, and not NULL or something else. Addresses issue #350
2013-08-01Formattingmichael-grunder
2013-08-01Allow for LONG and STRING keys in MGET and MSET. We can't allowmichael-grunder
for other types, as phpredis proper takes a key->value array and PHP doesn't support other array key types. Addresses #360
2013-05-02Add FLUSHALL to RedisArrayNicolas Favre-Felix
GitHub issue #334
2013-05-02Add FLUSHDB to RedisArrayNicolas Favre-Felix
GitHub issue #334
2013-04-28Cutting a release for 2.2.3. Added myself as a maintainermichael-grunder
in the header files
2013-02-25Added lazy_connect option to RedisArrayEmmanuel Merali
Added an option to let each RedisArray connection connect lazily to their respective server. This is useful then working with a redis cluster composed of many shards which are not necessarily in use all at once.
2013-02-22Merged changes from @mobliEmmanuel Merali
New select DB command to RedisArray - Added retry delay on reconnect Added the possibility to delay each reconnection attempt, including a random factor to prevent several or many concurrent connections from trying to reconnect at the same time. Added the select command to RedisArray to select a DB on every connections in one instruction. Also, fixed a compiler warning: redis_array_impl.c:1115:15: warning: incompatible pointer types assigning to 'zval **' (aka 'struct _zval_struct **') from 'zval **(*)[2]' [-Wincompatible-pointer-types] Conflicts: common.h
2013-01-29New select DB command to RedisArray - Added retry delay on reconnectEmmanuel Merali
Added the possibility to delay each reconnection attempt, including a random factor to prevent several or many concurrent connections from trying to reconnect at the same time. Added the select command to RedisArray to select a DB on every connections in one instruction. Also, fixed a compiler warning: redis_array_impl.c:1115:15: warning: incompatible pointer types assigning to 'zval **' (aka 'struct _zval_struct **') from 'zval **(*)[2]' [-Wincompatible-pointer-types]
2013-01-29Revert "Retry delay - selectDB on array"Emmanuel Merali
This reverts commit 3fb643211e524112bd9a19792f833b12b68de600.
2013-01-21Retry delay - selectDB on arrayEmmanuel Merali
Added the possibility to delay each reconnection attempt, including a random factor to prevent several or many concurrent connections from trying to reconnect at the same time. Added the select command to RedisArray to select a DB on every connections in one instruction.
2012-10-09Copy zval in multi/exec/pipe forwarded array callsNicolas Favre-Felix
* Addresses GitHub issue #262 * Tested successfully with code provided by bug reporter * array-tests.php passes
2012-09-10Fix RedisArray::_rehash to support closuresNicolas Favre-Felix
* Add "f" parameter in _rehash() * Call object with new method * Add rehash test with closure