Re: [AD] proposal: al_sleep()

[ Thread Index | Date Index | More Archives ]

On Fri, 2004-01-02 at 12:55, Stepan Roh wrote:
> I still don't think it is needed at all - just make al_sleep(0) (=
> yield_timeslice()) sleep at most al_sleep(1) (or don't sleep at all and
> use sched_yield() or eq.). Or leave yield_timeslice() alone and make
> al_sleep(0) sleep the shortest possible time on given platform and let
> user decide if it wants non-blocking or blocking CPU release. I think
> that's the way:
> 1. leave yield_timeslice() as is
> 2. make al_sleep(0) sleep the shortest possible time on each platform (it
> is sleep so it should sleep)
> 3. make al_sleep(x) sleep at least x miliseconds (or what units you have)
> In this case al_sleep() should look like:
> if (!x) { sys_sleep(SYS_MIN_SLEEP); } else { sys_sleep(sys_recalc(x)); }

Ok. The attached patch implements that. I tried doing it for all
platforms except the old mac port. Only tested on linux with pthreads so
far. Modified examples/GUI will follow in case it is accepted.

Elias Pschernig <elias@xxxxxxxxxx>

Attachment: al_sleep.diff.gz
Description: GNU Zip compressed data

Mail converted by MHonArc 2.6.19+