#include <signal.h>
#include <stdio.h>
#include <stdlib.h>
#include <sys/types.h>
#include <unistd.h>

/*Carles Pina i Estany  -  carles@pinux.info
 * Febrer 2004*/


static void senyal_fill ();
static void senyal_pare ();

int main () {
	pid_t pid;

	pid=fork();
	
	if (pid>0) {
		//Sóc el pare
		for (;;) {
			signal(SIGUSR2,senyal_pare);
			kill (pid,SIGUSR1);
			kill (getpid(),SIGUSR2);
			sleep(1);
		}
	}
	else {
		//Sóc el fill
		signal(SIGUSR1,senyal_fill);
		for (;;) {
			printf("Espero una senyal...\n");
			pause();
		}
	}
}

static void senyal_fill () {
	printf("Sóc la senyal del fill\n");
}

static void senyal_pare () {
	printf("Sóc la senyal del pare\n");
}
