Queued packet pointer should be NULL when no packet is queued
This commit is contained in:
parent
5af2430f95
commit
423dc1a951
|
@ -28,7 +28,7 @@
|
||||||
*
|
*
|
||||||
* This file is part of the Contiki operating system.
|
* This file is part of the Contiki operating system.
|
||||||
*
|
*
|
||||||
* $Id: uabc.c,v 1.2 2007/03/21 09:09:33 adamdunkels Exp $
|
* $Id: uabc.c,v 1.3 2007/03/22 17:37:10 adamdunkels Exp $
|
||||||
*/
|
*/
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -56,6 +56,7 @@ recv(struct abc_conn *abc)
|
||||||
/* We received a copy of our own packet, so we do not send out
|
/* We received a copy of our own packet, so we do not send out
|
||||||
packet. */
|
packet. */
|
||||||
queuebuf_free(c->q);
|
queuebuf_free(c->q);
|
||||||
|
c->q = NULL;
|
||||||
ctimer_stop(&c->t);
|
ctimer_stop(&c->t);
|
||||||
if(c->cb->dropped) {
|
if(c->cb->dropped) {
|
||||||
c->cb->dropped(c);
|
c->cb->dropped(c);
|
||||||
|
@ -74,6 +75,7 @@ send(void *ptr)
|
||||||
if(c->q != NULL) {
|
if(c->q != NULL) {
|
||||||
queuebuf_to_rimebuf(c->q);
|
queuebuf_to_rimebuf(c->q);
|
||||||
queuebuf_free(c->q);
|
queuebuf_free(c->q);
|
||||||
|
c->q = NULL;
|
||||||
abc_send(&c->c);
|
abc_send(&c->c);
|
||||||
if(c->cb->sent) {
|
if(c->cb->sent) {
|
||||||
c->cb->sent(c);
|
c->cb->sent(c);
|
||||||
|
|
|
@ -28,7 +28,7 @@
|
||||||
*
|
*
|
||||||
* This file is part of the Contiki operating system.
|
* This file is part of the Contiki operating system.
|
||||||
*
|
*
|
||||||
* $Id: uibc.c,v 1.1 2007/03/21 23:21:01 adamdunkels Exp $
|
* $Id: uibc.c,v 1.2 2007/03/22 17:37:10 adamdunkels Exp $
|
||||||
*/
|
*/
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -44,6 +44,14 @@
|
||||||
|
|
||||||
#include <string.h>
|
#include <string.h>
|
||||||
|
|
||||||
|
#define DEBUG 0
|
||||||
|
#if DEBUG
|
||||||
|
#include <stdio.h>
|
||||||
|
#define PRINTF(...) printf(__VA_ARGS__)
|
||||||
|
#else
|
||||||
|
#define PRINTF(...)
|
||||||
|
#endif
|
||||||
|
|
||||||
/*---------------------------------------------------------------------------*/
|
/*---------------------------------------------------------------------------*/
|
||||||
static void
|
static void
|
||||||
recv(struct ibc_conn *ibc, rimeaddr_t *from)
|
recv(struct ibc_conn *ibc, rimeaddr_t *from)
|
||||||
|
@ -56,12 +64,15 @@ recv(struct ibc_conn *ibc, rimeaddr_t *from)
|
||||||
/* We received a copy of our own packet, so we do not send out
|
/* We received a copy of our own packet, so we do not send out
|
||||||
packet. */
|
packet. */
|
||||||
queuebuf_free(c->q);
|
queuebuf_free(c->q);
|
||||||
|
c->q = NULL;
|
||||||
ctimer_stop(&c->t);
|
ctimer_stop(&c->t);
|
||||||
if(c->cb->dropped) {
|
if(c->cb->dropped) {
|
||||||
c->cb->dropped(c);
|
c->cb->dropped(c);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if(c->cb->recv) {
|
if(c->cb->recv) {
|
||||||
|
PRINTF("%d.%d: uibc calling recv\n",
|
||||||
|
rimeaddr_node_addr.u8[0], rimeaddr_node_addr.u8[1]);
|
||||||
c->cb->recv(c, from);
|
c->cb->recv(c, from);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -74,6 +85,9 @@ send(void *ptr)
|
||||||
if(c->q != NULL) {
|
if(c->q != NULL) {
|
||||||
queuebuf_to_rimebuf(c->q);
|
queuebuf_to_rimebuf(c->q);
|
||||||
queuebuf_free(c->q);
|
queuebuf_free(c->q);
|
||||||
|
c->q = NULL;
|
||||||
|
PRINTF("%d.%d: uibc sending with ibc_send\n",
|
||||||
|
rimeaddr_node_addr.u8[0], rimeaddr_node_addr.u8[1]);
|
||||||
ibc_send(&c->c);
|
ibc_send(&c->c);
|
||||||
if(c->cb->sent) {
|
if(c->cb->sent) {
|
||||||
c->cb->sent(c);
|
c->cb->sent(c);
|
||||||
|
|
Loading…
Reference in a new issue