Главная страница


ru.linux

 
 - RU.LINUX ---------------------------------------------------------------------
 From : Max Dmitrichenko                     2:5030/1763.14 30 May 2005  10:40:33
 To : All
 Subject : Re: Need Help!
 -------------------------------------------------------------------------------- 
 
 > До приглашения почему-то выводятся цифры, например: 12#
 > Кол-во цифр каким-то образом зависит от числа запускавшихся фоновых
 > процессов.
 
 > Где грабли? Кажется я что-то делаю неправильно с памятью, а что, не пойму. :(
 > Вот те части кода где используется shared memory:
 
 А в чем грабли-то? Что циферки выводятся?
 
 > while((pid=waitpid(-1,0,WNOHANG))>0)
 >     {
 >     semop(semid2,&opt1,1);
 >     printf("%d",ptr->count--);
 
        ^^^^^^^^^^^^^^^^^^^^^^^^^
      Вот здеся?
 
 >     opt1.sem_op=1;
 >     semop(semid2,&opt1,1);
 > 
 >     bzero(pidstr,strlen(pidstr));
 >     snprintf(pidstr,MAXCMD,"\n[%d] ",ptr->count);
 >     write(1,pidstr,strlen(pidstr));
 > 
 >     bzero(pidstr,strlen(pidstr));
 >     snprintf(pidstr,MAXCMD,"%ld ",pid);
 >     strcat(pidstr,"Done!\n");
 >     write(1,pidstr,strlen(pidstr));
 >     }
 > }
 > 
 > //============================================================================
 > = int exec_cmd() { if(fork())return 0;    else    {    char pid[MAXCMD];   
 > struct  sembuf opt1= {2,-1,0};     semop(semid2,&opt1,1);   
 > printf("%d",ptr->count++);
 
       ^^^^^^^^^^^^^^^^^^^^^^^^^^^
       И вот тута :)
 
 >     opt1.sem_op=1;
 >     semop(semid2,&opt1,1);
 > 
 >     snprintf(pid,MAXCMD,"\n[%d] ",ptr->count);
 >     write(1,pid,strlen(pid));
 >     bzero(pid,strlen(pid));
 > 
 >     snprintf(pid,MAXCMD,"%ld ",(long)getpid());
 >     strcat(pid,"Start!\n");
 >     write(1,pid,strlen(pid));
 > }
 
 Если я правильно понял, то ptr->count у тебя "каким-то образом зависит 
 от числа запускавшихся фоновых процессов". Оно?
 
 --
    Макс
 --- FIDOGATE 5.2.0ds-alpha3
  * Origin: Institute of Network Tech. (2:5030/1763.14)
 
 

Вернуться к списку тем, сортированных по: возрастание даты  уменьшение даты  тема  автор 

 Тема:    Автор:    Дата:  
 Need Help!   Sergey Agafonov   29 May 2005 15:01:36 
 Re: Need Help!   Max Dmitrichenko   30 May 2005 10:40:33 
Архивное /ru.linux/4583d438af1a.html, оценка 2 из 5, голосов 10
Яндекс.Метрика
Valid HTML 4.01 Transitional