/*  
 * ######
 * ## PS_SIG2.c
 * ## ~~~~~~~~~
 * ## 04.02.1995: Creation TL
 * ## 04.02.2008:
 * ######
 */

#include <stdio.h>
#include <sys/signal.h>

int main(argc, argv)

  int    argc;  char **argv;

{
  int  pidf1;

  printf( " PS_SIG2> argc      = %d\n",  argc );
  printf( " PS_SIG2> argv[ 0 ] = %s\n",  argv[ 0 ] );

  /*
   * Conversion de l'argument (ascii) en integer
   * Dans certains systeme, la conversion genere une erreur
   * provoquant l'arret premature du programe
   *
   * Essayer : ./ps_sig2 abcd
   */

  pidf1 = atoi( argv[ 0 ] );

  printf( "\n PS_SIG2> PID  de l'autre FILS = %d\n", pidf1 );
  
  sleep(5);
  if ( ( kill( pidf1, SIGUSR1 ) ) == -1 ) perror("FILS2(usr1): " );

  sleep(2);
  if ( ( kill( pidf1, SIGINT ) ) == -1 ) perror("FILS2(int): " );

  sleep(3);
  if ( ( kill( pidf1, SIGUSR2 ) ) == -1 ) perror("FILS2(usr2): " );

  for (;;) {
    putchar( '\n' );   putchar( '~' );   sleep( 1 );
  }
}
/*--  fin  ps_sig2  --*/
