This is the mail archive of the ecos-patches@sources.redhat.com mailing list for the eCos project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: timed condition variable patch


Yeah, I may have submitted this before.  I don't remember.  I just ran into
this problem again after getting the 2.0 source and decided to make another
patch since I had to fix it again anyway.

That's great if there is a better way to fix it also.

Thanks,
Wade

----- Original Message -----
From: "Jonathan Larmour" <jifl@eCosCentric.com>
To: "Wade Jensen" <waj4news@cox.net>; "Nick Garnett"
<nickg@calivar.demon.co.uk>
Cc: <ecos-patches@sources.redhat.com>
Sent: Wednesday, August 07, 2002 2:45 AM
Subject: Re: timed condition variable patch


> Wade Jensen wrote:
> > Hello,
> >
> > There is a very rare condition in Cyg_Condition_Variable::wait_inner(
> > Cyg_Mutex *mx, cyg_tick_count timeout ) that causes the "Unnecessary
call to
> > unlock_inner()" assertion to fail.
>
> This looks familiar.
>
> Nick, I seem to recall I discussed this with you IRL in the Red Hat office
> about this, or something similar - i.e. what happens about timers that
> trigger "now" or in the past, and I think it was also in the context of
> select(). Do you remember what the outcome was? I can't find any kernel
> change resulting certainly, but then I can't remember the problem :-).
>
> > Here is a patch for this problem.  It is based off of the 2.0 snapshot
> > source.
>
> I'd probably prefer to include the if conditional in the "    if(
> self->get_wake_reason() == Cyg_Thread::NONE )" test further up. But I can
> change that later, depending on what Nick says.
>
> Jifl
> --
> --[ "You can complain because roses have thorns, or you ]--
> --[  can rejoice because thorns have roses." -Lincoln   ]-- Opinions==mine
>


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]