Netcompo アプリケーション会話サービス 2.1 LU0会話サービス編 - Solaris -
目次 索引 前ページ次ページ

上へ第4章 インタフェース
上へ4.3 インタフェース詳細

4.3.11 lu0timeマクロ命令

記述形式

  void lu0time()

説明

lu0cnctマクロ命令(同期型)および、lu0readマクロ命令(同期型)発行後、そのマクロ命令が一定時間で完了しなかった時、タイムアウトを通知します。このタイムアウト通知機能は、lu0cnctマクロ命令およびlu0readマクロ命令が、ホストの異常等によりBINDコマンドおよびデータが受信できず、マクロ命令が復帰できなくなることを防ぐためのものです。なお、本マクロ命令は、signalシステムコールまたは、sigactionシステムコールにより登録されたタイマ出口関数の中で使用してください。

signalシステムコールにより登録を行う場合は、以下のように行ってください。

  #include  <signal.h>
  
  signal(SIGALRM,func1); /* アラーム・クロック*/

func1: 出口関数として登録し、アプリケーションプログラムは以下のサブルーチンを作成してください。

func1()
{
lu0time(); /* タイムアウト通知 */
signal(SIGALRM,func1); /* アラーム・クロック */
return(0);
}

sigactionシステムコールによる登録を行う場合は、以下のように行ってください。

  #include  <signal.h>

  struct sigaction act; 

  struct sigaction act; 
  act.sa_handler = func2;
   *((int *)(&act.sa_mask)) = SIGALRM; 
  act.sa_flags = NULL; 
  sigaction(SIGALRM,&act,NULL); 


func2: 出口関数として登録し、アプリケーションプログラムは以下のサブルーチンを作成してください。

func2()
{
lu0time(); /* タイムアウト通知*/
return(0);
}


目次 索引 前ページ次ページ

All Rights Reserved, Copyright (C) 富士通株式会社 2002