diff --git a/sys/net/gnrc/network_layer/sixlowpan/frag/gnrc_sixlowpan_frag.c b/sys/net/gnrc/network_layer/sixlowpan/frag/gnrc_sixlowpan_frag.c index 4f6d4a656bcfe067aba60baa0e1812169dc042ff..eb781ef613542e20dd89b86e18dae40d4690a17b 100644 --- a/sys/net/gnrc/network_layer/sixlowpan/frag/gnrc_sixlowpan_frag.c +++ b/sys/net/gnrc/network_layer/sixlowpan/frag/gnrc_sixlowpan_frag.c @@ -287,7 +287,11 @@ void gnrc_sixlowpan_frag_send(gnrc_pktsnip_t *pkt, void *ctx, unsigned page) fragment_msg->offset += res; msg.type = GNRC_SIXLOWPAN_MSG_FRAG_SND, msg.content.ptr = fragment_msg; - msg_send_to_self(&msg); + if (msg_send_to_self(&msg) == 0) { + printf("6lo frag: message queue full, can't issue next fragment " + "sending\n"); + goto error; + } thread_yield(); return; error: