*****Listing 5*****

#include <stdio.h>
#include <stdlib.h>
#include <signal.h>
#include <assert.h>

void eh(void);
void abort_hand(void);

main()
{
	char c;

	atexit(eh);
	if (signal(SIGABRT, abort_hand) == SIG_ERR) {
		printf("Can't register abort_hand\n");
		exit(1);
	}

	printf("Enter A (abort), E (exit): ");
	c = getchar();

	assert(c != 'A');
}

void eh(void)
{
	printf("Inside eh\n");
}

void abort_hand(void)
{
	printf("Inside abort_hand\n");
	exit(2);
}

