Skip to content

Commit 517799f

Browse files
author
Veijo Pesonen
committed
NetworkStack: halts if unable to add an event to the event queue
1 parent 39c8374 commit 517799f

File tree

6 files changed

+13
-3
lines changed

6 files changed

+13
-3
lines changed

UNITTESTS/features/netsocket/InternetSocket/unittest.cmake

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,7 @@ set(unittest-test-sources
2121
stubs/mbed_critical_stub.c
2222
stubs/equeue_stub.c
2323
stubs/EventQueue_stub.cpp
24+
stubs/mbed_error.c
2425
stubs/mbed_shared_queues_stub.cpp
2526
stubs/nsapi_dns_stub.cpp
2627
stubs/EventFlags_stub.cpp

UNITTESTS/features/netsocket/NetworkStack/unittest.cmake

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,7 @@ set(unittest-test-sources
2424
stubs/mbed_assert_stub.c
2525
stubs/equeue_stub.c
2626
stubs/EventQueue_stub.cpp
27+
stubs/mbed_error.c
2728
stubs/mbed_shared_queues_stub.cpp
2829
stubs/nsapi_dns_stub.cpp
2930
stubs/EventFlags_stub.cpp

UNITTESTS/features/netsocket/TCPServer/unittest.cmake

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -25,6 +25,7 @@ set(unittest-test-sources
2525
stubs/mbed_critical_stub.c
2626
stubs/equeue_stub.c
2727
stubs/EventQueue_stub.cpp
28+
stubs/mbed_error.c
2829
stubs/mbed_shared_queues_stub.cpp
2930
stubs/nsapi_dns_stub.cpp
3031
stubs/EventFlags_stub.cpp

UNITTESTS/features/netsocket/TCPSocket/unittest.cmake

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,7 @@ set(unittest-test-sources
2222
stubs/mbed_critical_stub.c
2323
stubs/equeue_stub.c
2424
stubs/EventQueue_stub.cpp
25+
stubs/mbed_error.c
2526
stubs/mbed_shared_queues_stub.cpp
2627
stubs/nsapi_dns_stub.cpp
2728
stubs/EventFlags_stub.cpp

UNITTESTS/features/netsocket/UDPSocket/unittest.cmake

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,7 @@ set(unittest-test-sources
2222
stubs/mbed_critical_stub.c
2323
stubs/equeue_stub.c
2424
stubs/EventQueue_stub.cpp
25+
stubs/mbed_error.c
2526
stubs/mbed_shared_queues_stub.cpp
2627
stubs/EventFlags_stub.cpp
2728
stubs/nsapi_dns_stub.cpp

features/netsocket/NetworkStack.cpp

Lines changed: 8 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,7 @@
2020
#include <new>
2121
#include "EventQueue.h"
2222
#include "mbed_shared_queues.h"
23+
#include "platform/mbed_error.h"
2324

2425
// Default NetworkStack operations
2526
const char *NetworkStack::get_ip_address()
@@ -126,20 +127,24 @@ nsapi_error_t NetworkStack::call_in(int delay, mbed::Callback<void()> func)
126127
static events::EventQueue *event_queue = mbed::mbed_event_queue();
127128

128129
if (!event_queue) {
129-
return NSAPI_ERROR_NO_MEMORY;
130+
goto NO_MEM;
130131
}
131132

132133
if (delay > 0) {
133134
if (event_queue->call_in(delay, func) == 0) {
134-
return NSAPI_ERROR_NO_MEMORY;
135+
goto NO_MEM;
135136
}
136137
} else {
137138
if (event_queue->call(func) == 0) {
138-
return NSAPI_ERROR_NO_MEMORY;
139+
goto NO_MEM;
139140
}
140141
}
141142

142143
return NSAPI_ERROR_OK;
144+
145+
NO_MEM:
146+
MBED_ERROR(MBED_MAKE_ERROR(MBED_MODULE_DRIVER, MBED_ERROR_CODE_ENOMEM), \
147+
"NetworkStack::call_in() unable to add event to queue. Increase \"events.shared-eventsize\"\n");
143148
}
144149

145150
call_in_callback_cb_t NetworkStack::get_call_in_callback()

0 commit comments

Comments
 (0)