You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Fix apc_sma_get_avail_size() to look for a contiguous block of memory to make expunge more reliable (#532)
apc_sma_get_avail_size() is used by apc_cache_default_expunge() to check whether enough memory is available to store a new cache entry after expired entries are removed. If there is not enough memory available, a real expunge is performed to be able to store the new entry.
The problem is that apc_sma_get_avail_size() only checks the total amount of available memory, which is usually divided into several fragments of memory. However, we need a contiguous block of memory to store a cache entry.
This pull request fixes apc_sma_get_avail_size() to check if a continuous block of memory is available to store a new entry, which solves the problem.
Prior to this fix, the result was that in situations with fragmentation, new cache entries cannot be saved and PHP functions such as apcu_store() return false, which is not the expected behavior.
0 commit comments