/*      simple talk program SIGIO signal handler	*/

#include        <stdio.h>
#include        <signal.h>
#include        <fcntl.h>
#include        <sys/types.h>
#include        <sys/socket.h>
#include        <netinet/in.h>
#include        <arpa/inet.h>

#define         MAXLINE                 512


void    sigio_handler(int signo)

{
int				n;
char				recvline[MAXLINE+1];
int                     	peerlen;
struct sockaddr_in      	peer_addr;
extern int                     	sockfd;


	if ((n = recvfrom(sockfd, recvline, MAXLINE, 0, (struct sockaddr *) 
			&peer_addr, &peerlen)) < 0)
		err_sys("recvfrom");

	recvline[n] = '\0';

       	printf("-> %s", recvline);
       	fflush(stdout);

	return;
}