[so] test 6

Lucian Adrian Grijincu lucian.grijincu at gmail.com
Fri Nov 16 21:49:50 EET 2007


fie ms = 1000 * X; //X un intreg nenul pozitiv

On Nov 16, 2007 9:35 PM, Marius Nicolae <mariusn007 at gmail.com> wrote:
> > > sleep(ms/1000);
Aici faci sleep pe X secunde

> usleep(ms%1000*1000) actually :)
>
aici nu faci nici un sleep: 1000 * X %1000 = 0
(CRED ca vroiai sa scrii ceva de genul " usleep(ms - ms%1000) " pentru
a dormi exact X secunde, cum faceai in sleep()-ul de mai sus, but, as
always, I may be wrong).

to wrap things up:
<quote>
   "s m" : clientul face sleep pentru m milisecunde;
</quote>

sleep doarme multipli de o secunde, so it sucks, we hate it and don't use it.

usleep are o limitare importanta: intoarce EINVAL daca argumentul e
mai mare decat 1000000 (pe anumite sisteme)
       EINVAL usec is not smaller than 1000000.  (On  systems  where  that  is
              considered an error.)

nanosleep poate sa faca sleep si pentru mai mult de o secunda si
pentru subdiviziuni de secunda.

nu sunt sigur, dar am impresia ca in tema se folosesc valori mai mici
de 1000 milisecunde, asa ca usleep ar functiona corect, but to be on
the safe side, use nanosleep:


> > > On Nov 16, 2007 9:15 PM, Take Ceara <dumitru.ceara at gmail.com> wrote:
> > > > nanosleep e POSIX si-ti rezolva toate problemele...
> > > >


-- 
Lucian


More information about the so mailing list