Shared memory logic fix for quick disconnecting users
This commit is contained in:
parent
94f83a1775
commit
0a1b00cb5e
1 changed files with 10 additions and 6 deletions
|
@ -1001,10 +1001,12 @@ namespace IPC {
|
|||
amount = lastFilled+1;
|
||||
VERYHIGH_MSG("Shared memory %s is now at count %u", baseName.c_str(), amount);
|
||||
}
|
||||
if (id >= amount + 100) {
|
||||
//stop, we're guaranteed no more pages are full at this point
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
} else {
|
||||
if (memcmp(empty, it->mapped + offset, payLen)) {
|
||||
++userCount;
|
||||
|
@ -1023,6 +1025,7 @@ namespace IPC {
|
|||
amount = lastFilled+1;
|
||||
VERYHIGH_MSG("Shared memory %s is now at count %u", baseName.c_str(), amount);
|
||||
}
|
||||
if (id >= amount + 100) {
|
||||
//stop, we're guaranteed no more pages are full at this point
|
||||
if (empty) {
|
||||
free(empty);
|
||||
|
@ -1031,6 +1034,7 @@ namespace IPC {
|
|||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
offset += payLen + (hasCounter ? 1 : 0);
|
||||
id ++;
|
||||
}
|
||||
|
|
Loading…
Add table
Reference in a new issue