//doors/serverintr3.c
#include	"unpipc.h"

void
servproc(void *cookie, char *dataptr, size_t datasize,
		 door_desc_t *descptr, size_t ndesc)
{
	long	arg, result;
	
	printf("thread id %ld called\n", pr_thread_id(NULL));
	sleep(6);		/*     SIGCHLD */
	arg = *((long *) dataptr);
	result = arg * arg;
	printf("thread id %ld returning\n", pr_thread_id(NULL));
	Door_return((char *) &result, sizeof(result), NULL, 0);
}
