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
with a lot of updates to do and more coming in fast, it can happen that by the time the for loop has run the value stored at APC_CACHE_LOG_INDEX has increased. In this case apc_cas will fail and $loop remains true. Once this happens, only another process successfully resetting the value stored at APC_CACHE_LOG_INDEX and then incrementing it back until it is equal to $index will break the loop.
What's missing is a reassignment of $index immediately after the usleep, ie
Under certain circumstances the plugin can get into an (almost) infinite loop during database updates of logs.
The problem lies in this code, which looks as if it was written to avoid the issue, but a line has been missed:
with a lot of updates to do and more coming in fast, it can happen that by the time the for loop has run the value stored at
APC_CACHE_LOG_INDEX
has increased. In this case apc_cas will fail and$loop
remains true. Once this happens, only another process successfully resetting the value stored atAPC_CACHE_LOG_INDEX
and then incrementing it back until it is equal to $index will break the loop.What's missing is a reassignment of $index immediately after the usleep, ie
The text was updated successfully, but these errors were encountered: