Posted By: Zaba (I'd rather be skiing!) on 'CZprogram' Title: dalsi dotaz pro C-eckare (fork()) Date: Mon Sep 3 15:53:54 2001 Cau mam program, kterej vola fork() a child potom vola funkci, ze ktery potrebuju cist data z parent procesu problem je, ze nevim, jak to v ty funkci cist, kdyz poslu pointer jako argument, tak ta funkce zna pouze hodnotu jakou to melo ve chvili kdy byl argument predany, kdyz si ale vypisu kam ten pointer ukazuje, tak dostanu stejnou adresu jak v parent, tak v child procesu, coz mne mate... je to zhruba takhle (zjednodusene): int *counter; *counter = 42; if ( (childpid = fork()) == 0) /* child */ { moje_funkce(*counter); exit(0); } /* end if */ *counter = 0; while ((*counter) < 30) { printf("counter = %dn", *counter); (*counter)++; sleep(1); } moje_funkce: (opet zjednodusene) void moje_funkce(int *number) { printf("moje_funkce: number = %dn",*number); } ovsem moje_funkce mi porad vraci 42, i kdyz parent us davno zmenil data na ty adrese cili predavat to pres pointer nefunguje, i kdyz mne mate, ze ty pointery ukazuji na stejnou adresu, vzhledem k tomu, ze by parent a child meli sdilet pamet, tak jsem si myslel, ze by to tak mohlo jit, nevite nekdo jak na to? Dik Zaba