Страниц: [1]
  Печать  
Автор Тема: Как работает sin ?  (Прочитано 2655 раз)
vladimir_sun
Участник
*
Offline Offline

Сообщений: 0


Просмотр профиля
« : Февраля 17, 2005, 03:04:35 pm »

Кто знает как работает sin в 6.3? Кто-нибудь может объяснить следующее:

Есть простая программка. Создается канал. После форка потомок к нему аттачится и спит. Родитель висит на ресиве.

ЧЕРТ!
Как исходник запостить? Тэги code /code работают криво.



#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <sys/neutrino.h>
#include <sys/types.h>
#include <process.h>
#include <errno.h>
#include <unistd.h>

int    parent, chid;

void child_proc()   ;

int main( int argc, char *argv[] )
{
int    i, pid;
char   buf[256];
 
struct _msg_info   minfo;

   parent = getpid();
   chid = ChannelCreate(_NTO_CHF_SENDER_LEN) ;

   if( fork() == 0 ) {
      child_proc() ;
      return EXIT_SUCCESS;
   }

   while( 1 ) {
   
      pid = MsgReceive( chid, buf, 256, &minfo   ) ;
      if(pid<0 )    break;

      printf("Message from rcvid=%i   pid=%i
",pid,minfo.pid) ;
      for(i=0;i<minfo.msglen;i++)
         printf(" %i",buf )  ;
      printf("
" )    ;
      
      MsgReply( pid, EOK, &buf, 256 )    ;
   }
   
   ChannelDestroy( chid )    ;
   return EXIT_SUCCESS  ;
}

void child_proc(){
int coid;

   sleep(2)   ;
   coid = ConnectAttach(0,parent,chid,_NTO_SIDE_CHANNEL,NULL)    ;
   
   while(1) sleep(10)    ;
   
   ConnectDetach(coid)    ;
}


Запускаю сие в отдельной терминалке. В соседней даюкоманду sin. После чего в предыдущей вижу:

Message from rcvid=3   pid=6062126
 21 1 60 0 0 0 0 0 116 115 101 110 45 -128 92 0 46 47 115 116 1 0 0 0 2 0 0 64 1 0 0 64 98 105 110 58 47 117 115 114 47 115 98 105 83 89 83 78 65 77 69 61 110 116 111 0 46 47 115 116
Message from rcvid=3   pid=6062126
 14 1 16 0 1 0 0 0 0 2 0 0 0 0 0 0
Message from rcvid=3   pid=6062126
 22 1 4 0

Вывод sin:

procnto                                 1     0     0     0     0  10426712
/*
bla-bla-bla
*/
sin                               6062126   80K  204K    8K  516K        19


В общем при запуске sin моя программулька получает от него 3 сообщения.
Записан
Страниц: [1]
  Печать  
 
Перейти в: