mirror of
https://github.com/fluencelabs/redis
synced 2025-03-22 18:40:50 +00:00
possible fix for a failed assertion introduced with the latest diskstore speedup fix
This commit is contained in:
parent
0b537972f4
commit
d9fac6c07a
@ -325,8 +325,12 @@ void freeIOJob(iojob *j) {
|
|||||||
* of an unix pipe in order to "awake" the main thread, and this function
|
* of an unix pipe in order to "awake" the main thread, and this function
|
||||||
* is called.
|
* is called.
|
||||||
*
|
*
|
||||||
* If privdata != NULL the function will try to put more jobs in the queue
|
* If privdata == NULL the function will try to put more jobs in the queue
|
||||||
* of IO jobs to process as more room is made. */
|
* of IO jobs to process as more room is made. privdata is equal to NULL
|
||||||
|
* when the function is called from the event loop, so we want to push
|
||||||
|
* more IO jobs in the queue. Instead when the function is called by
|
||||||
|
* other functions that want to create a write-barrier to avoid race
|
||||||
|
* conditions we don't push new jobs in the queue. */
|
||||||
void vmThreadedIOCompletedJob(aeEventLoop *el, int fd, void *privdata,
|
void vmThreadedIOCompletedJob(aeEventLoop *el, int fd, void *privdata,
|
||||||
int mask)
|
int mask)
|
||||||
{
|
{
|
||||||
@ -392,7 +396,7 @@ void vmThreadedIOCompletedJob(aeEventLoop *el, int fd, void *privdata,
|
|||||||
freeIOJob(j);
|
freeIOJob(j);
|
||||||
}
|
}
|
||||||
processed++;
|
processed++;
|
||||||
if (privdata != NULL) cacheScheduleIOPushJobs(0);
|
if (privdata == NULL) cacheScheduleIOPushJobs(0);
|
||||||
if (processed == toprocess) return;
|
if (processed == toprocess) return;
|
||||||
}
|
}
|
||||||
if (retval < 0 && errno != EAGAIN) {
|
if (retval < 0 && errno != EAGAIN) {
|
||||||
|
Loading…
x
Reference in New Issue
Block a user