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

上へ付録A アプリケーションプログラム例

A.4 出口関数の例

/*====================================================================* 
 *     アプリケーションプログラム例 4  (出口関数)                  *
 *                                                                    *
 *         (1)  rcvalrm  :  タイマ用出口関数                          *
 *         (2)  rcvsig   :  ユーザ・シグナル用出口関数                *
 *         (3)  rcvend   :  プログラム終了用出口関数                  *
 *                                                                    *
 *====================================================================*/

#include  <sys/types.h>
#include  <stdio.h>
#include  <memory.h>
#include  <signal.h>

#include  "lu0.h"

/*---------------------------------------------*/
/*      外部参照モジュール                     */
/*---------------------------------------------*/

extern  void  lu0time();                      /*                      */
extern  void  lu0sig();                       /*                      */
extern  void  lu0term();                      /*                      */

/*---------------------------------------------*/
/*      エントリモジュール                     */
/*---------------------------------------------*/

void    rcvalrm();                            /* タイマ用             */
void    rcvsig();                             /* ユーザ・シグナル用   */
void    rcvend();                             /* プログラム終了用     */

/*====================================================================*
 *      function name  :  (1) rcvalrm                                 *
 *      function       :  タイマ用出口関数                            *
 *====================================================================*/
void
rcvalrm()

{     

/*=============================================*/
/*   lu0time マクロ処理                 */
/*=============================================*/

     lu0time( );                              /*                      */
                                              /*                      */
     return;                                  /* < 正常終了 >         */
}                                             /*                      */

/*====================================================================*
 *      function name  :  (2) rcvsig                                  *
 *      function       :  ユーザ・シグナル用出口関数                  *
 *====================================================================*/
void
rcvsig() 

{     

/*=============================================*/
/*   lu0sig マクロ処理                   */
/*=============================================*/

     lu0sig( );                               /*                      */
                                              /*                      */
     signal( SIGUSR1, rcvsig );               /* ユーザ・シグナル1   */
     signal( SIGUSR2, rcvsig );               /* ユーザ・シグナル2   */
                                              /*                      */
     return;                                  /* < 正常終了 >         */
}                                             /*                      */

/*====================================================================*
 *      function name  :  (3) rcvend                                  *
 *      function       :  プログラム終了用出口関数                    *
 *====================================================================*/
void
rcvend() 

{     
/*=============================================*/
/*   lu0term マクロ処理                 */
/*=============================================*/

     lu0term( );                              /*                      */
                                              /*                      */
     exit( 0 );                               /* < 正常終了 >         */
}                                             /*                      */

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

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