----- test.c ------
#include <stdio.h>
#include <unistd.h>

int main() {

    printf("aaaaaa\n");

    while(1) {

        printf("b");
        sleep(1);

    }

    return 0;
}
---------

$>gcc test.c
$>./a.out
aaaaaa


si ramane asa... nu mai apare nici un b pe ecran! 

$>strace ./a.out
[...] - aici apar mai multe chestii aparent neinteresante si apoi
write(1, "aaaaaa\n", 7aaaaaa
)                 = 7
rt_sigprocmask(SIG_BLOCK, [CHLD], [RTMIN], 8) = 0
rt_sigaction(SIGCHLD, NULL, {SIG_DFL}, 8) = 0
rt_sigprocmask(SIG_SETMASK, [RTMIN], NULL, 8) = 0
nanosleep({1, 0}, {1, 0})               = 0
rt_sigprocmask(SIG_BLOCK, [CHLD], [RTMIN], 8) = 0
rt_sigaction(SIGCHLD, NULL, {SIG_DFL}, 8) = 0
rt_sigprocmask(SIG_SETMASK, [RTMIN], NULL, 8) = 0
nanosleep({1, 0}, {1, 0})               = 0
rt_sigprocmask(SIG_BLOCK, [CHLD], [RTMIN], 8) = 0
rt_sigaction(SIGCHLD, NULL, {SIG_DFL}, 8) = 0
rt_sigprocmask(SIG_SETMASK, [RTMIN], NULL, 8) = 0
nanosleep({1, 0},  <unfinished ...>

l-am omorat cu un ctrl+c
deci el totusi doarme cate o secunda, dar considera neimportant sa mai 
si arunce un b pe ecra!

daca, in schimb, pun un return 1; dupa sleep() se intampla ceva foarte 
interesant... apar a-urii, sta o secunda, _apoi_ apare un b si iese!

simt ca-mi fuge pamantul de sub picioare!

ajutoooor...

multumiri!!!!!!!

--- 
Detalii despre listele noastre de mail: http://www.lug.ro/


Raspunde prin e-mail lui