[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [lwip-devel] Re: queuelen accounting
From: |
Kieran Mansley |
Subject: |
Re: [lwip-devel] Re: queuelen accounting |
Date: |
Thu, 25 Oct 2007 13:34:16 +0100 |
On Thu, 2007-10-25 at 11:39 +0100, Samuel Thibault wrote:
> Kieran Mansley wrote:
> > On Wed, 2007-10-24 at 12:15 +0100, Samuel Thibault wrote:
> >
> > > There's a line of code I don't understand in the queuelen accounting:
> > > in
> > > tcp_out.c:247, "++queuelen;". Why is there such incrementation while
> > > queuelen is increased by pbuf_clen(seg->p) a few lines later? On the
> > > decreasing side, there is no corresponding --pcb->snd_queulen.
> > > Actually, dropping ++queuelen; makes the assertion always work...
> >
> > That code is creating two pbufs - one for the headers, and one for the
> > payload.
>
> Ah ok, I missed that. Well actually, now that I fixed my "sleep in
> interrupt" bug and can start working further, I got another assertion
> failing in tcp_enqueue: "tcp_enqueue: pbufs on queue => at least one
> queue non-empty", so there's probably a problem somewhere else indeed.
That's interesting: it is essentially the same assertion as you had
firing before, only this time at the start of the function.
As your other problem has potentially raised the issue of multiple
threads having concurrent access to lwIP, I think we can probably
attribute this error to that. If you solve that issue in your port, and
are still seeing this error, then we can look in more detail.
Kieran