This is the mail archive of the
ecos-discuss@sourceware.org
mailing list for the eCos project.
Re: Why does cyg_thread_delay() not return?
On 2005-08-02, Gary Thomas <gary@mlbassoc.com> wrote:
> On Wed, 2005-08-03 at 08:45 +0900, Judong Kim wrote:
>> Hi everyone!!
>>
>> I am working on network equipment, ecos-1.3.1-cvs and mpc850.
>>
>> My problem is that cyg_thread_delay() function does not
>> return, exactly Cyg_Scheduler::unlock() in cyg_thread_delay().
>> But this is not all the time happened. Just, when network
>> packets are flooded.
>>
>> Now, I guess this is because of some kind of interrupts. But I
>> am not sure.
>>
>> Please, can anybody give some helps!
>
> It could be interrupts, but it could be a number of things.
> * Did you remember to include <cyg/kernel/kapi.h> in your program?
> * Have you run the standard tests on your platform to make sure
> that interrupts, etc, are working?
>
> Note: 1.3.1 is now more than 5 years old! You really should
> update to the latest code base.
I'd definitely second that suggestion. There were a couple
race condition bugs in the 1.3.1 network stack that caused mbuf
data structure corruption resulting in various odd problems
(though I don't remember delay() not returning as one of them).
Even if you do figure out why cyg_thread_delay() isn't working,
you've still got a broken network stack. That and nobody is
going to put much effort into helping you when you're using
code that's so obsolete.
--
Grant Edwards
grante@visi.com
--
Before posting, please read the FAQ: http://ecos.sourceware.org/fom/ecos
and search the list archive: http://ecos.sourceware.org/ml/ecos-discuss