summaryrefslogtreecommitdiffstatshomepage
path: root/extmod/modlwip.c
diff options
context:
space:
mode:
authorPaul Sokolovsky <pfalcon@users.sourceforge.net>2015-12-29 21:00:52 +0200
committerPaul Sokolovsky <pfalcon@users.sourceforge.net>2015-12-29 21:02:02 +0200
commitfff2dd2627e78fc187b47074436de524db393ac2 (patch)
tree52788dbcc759628e66729379e8ff4acec9c2a954 /extmod/modlwip.c
parenta63d4a6cc20b6e9b03f1a5fab5a189765b27b749 (diff)
downloadmicropython-fff2dd2627e78fc187b47074436de524db393ac2.tar.gz
micropython-fff2dd2627e78fc187b47074436de524db393ac2.zip
extmod/modlwip: Mark some lwip_socket_obj_t's fields as volatile.
Any fields changed by asynchronous callbacks must be volatile.
Diffstat (limited to 'extmod/modlwip.c')
-rw-r--r--extmod/modlwip.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/extmod/modlwip.c b/extmod/modlwip.c
index afd6067292..afe5ca9e73 100644
--- a/extmod/modlwip.c
+++ b/extmod/modlwip.c
@@ -183,11 +183,11 @@ static const int error_lookup_table[] = {
typedef struct _lwip_socket_obj_t {
mp_obj_base_t base;
- union {
+ volatile union {
struct tcp_pcb *tcp;
struct udp_pcb *udp;
} pcb;
- union {
+ volatile union {
struct pbuf *pbuf;
struct tcp_pcb *connection;
} incoming;