[Armadillo:00288] fork()について

email@hidden
2005年 5月 19日 (木) 11:34:13 JST


実好(さねよし)と申します。

armadillo-9の勉強中です。



以前展示会で、armadillo-9に搭載されているLinuxは



「一般的なPCで使用されているLinuxと、どんなところが違うのですか?」



と質問したところ、特徴の1つとして



「fork()という関数が使えない。」



とのご説明をいただきました。

これは、uClinuxの資料にも挙げられているようですが

いろいろなサンプルプログラムを試している中で、

fork()もやってみたところ、意図するように動作しているように思われます。

(以下のようなコードで[C]Hello!と[P]Hello!が、ほぼ 交互に表示される。)

これはfork()等も心配なく使えるということでしょうか?

制限、注意点等はありますでしょうか?

(atmark-dist-20050506を使用しています。)



*** 以下のようなコード ***



< ・・・ 略 ・・・ >



int main( void )

{

     int i;  pid; status;

     pid_t pidc;



     pid = fork();

     if ( pid < 0 ) {

          /* エラー表示 略 */

     }

     else if ( pid == 0 ) {  /* 子プロセス */

          for( i=0; i<10; i++ ) {

               printf( "[C] Hello! \n" );

               sleep(1);

          }

     }

     else if ( pid > 0 ) {

          for( i=0; i<10; i++ ) {

               printf( "[P]Hello! \n" );

               sleep(1);

          }

          pidc = wait(   &status );

          /* 終了情報表示 略 */

     }

     return (0);

}



初歩的質問かもしれませんが、ご教授いただきたく、

よろしくお願いいたします。






armadillo メーリングリストの案内