mirror of
https://github.com/me-no-dev/ESPAsyncWebServer.git
synced 2026-01-27 17:22:20 +01:00
Add thread locking to improve stability. (#585)
* Add thread locking to improve stability. * Do not use thread locking with the ESP8266, but instead use an empty placeholder class that can be used to implement locking at a later date.
This commit is contained in:
@@ -1197,6 +1197,7 @@ AsyncWebSocketMessageBuffer * AsyncWebSocket::makeBuffer(size_t size)
|
||||
{
|
||||
AsyncWebSocketMessageBuffer * buffer = new AsyncWebSocketMessageBuffer(size);
|
||||
if (buffer) {
|
||||
AsyncWebLockGuard l(_lock);
|
||||
_buffers.add(buffer);
|
||||
}
|
||||
return buffer;
|
||||
@@ -1207,6 +1208,7 @@ AsyncWebSocketMessageBuffer * AsyncWebSocket::makeBuffer(uint8_t * data, size_t
|
||||
AsyncWebSocketMessageBuffer * buffer = new AsyncWebSocketMessageBuffer(data, size);
|
||||
|
||||
if (buffer) {
|
||||
AsyncWebLockGuard l(_lock);
|
||||
_buffers.add(buffer);
|
||||
}
|
||||
|
||||
@@ -1215,6 +1217,8 @@ AsyncWebSocketMessageBuffer * AsyncWebSocket::makeBuffer(uint8_t * data, size_t
|
||||
|
||||
void AsyncWebSocket::_cleanBuffers()
|
||||
{
|
||||
AsyncWebLockGuard l(_lock);
|
||||
|
||||
for(AsyncWebSocketMessageBuffer * c: _buffers){
|
||||
if(c && c->canDelete()){
|
||||
_buffers.remove(c);
|
||||
|
||||
Reference in New Issue
Block a user