Allow wquque to use callback to free an mbuf - so
mbufs can be reused/pooled
This commit is contained in:
+3
-3
@@ -24,7 +24,7 @@ static int uc_wqueue_handle_write(struct UCWQueue *wqueue)
|
||||
|
||||
mbuf = uc_mbuf_dequeue(&wqueue->queue);
|
||||
assert(mbuf != NULL);
|
||||
uc_mbuf_free(mbuf);
|
||||
wqueue->free_cb(mbuf);
|
||||
wqueue->queue_len--;
|
||||
}
|
||||
|
||||
@@ -71,7 +71,7 @@ void uc_wqueue_init(struct UCWQueue *wqueue, struct IOMux *mux)
|
||||
memset(wqueue, 0, sizeof *wqueue);
|
||||
wqueue->mux = mux;
|
||||
wqueue->fd.callback = uc_wqueue_cb;
|
||||
|
||||
wqueue->free_cb = uc_mbuf_free;
|
||||
uc_tailq_init(&wqueue->queue);
|
||||
}
|
||||
|
||||
@@ -81,7 +81,7 @@ int uc_wqueue_clear(struct UCWQueue *wqueue)
|
||||
int rc = 0;
|
||||
|
||||
while ((buf = uc_mbuf_dequeue(&wqueue->queue)) != NULL) {
|
||||
uc_mbuf_free(buf);
|
||||
wqueue->free_cb(buf);
|
||||
wqueue->queue_len--;
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user