Index: ns/ns.c
===================================================================
--- ns/ns.c	(revision 4c61e608144e052d459b0a95a56cc35b24f95f62)
+++ ns/ns.c	(revision 0bc36ba421bf7a8d129e29d1d295e05f10aee65e)
@@ -16,8 +16,12 @@
 
 	printf("NS:Name service started.\n");
+//	ipc_register_irq(1);
 	while (1) {
 		callid = ipc_wait_for_call(&call, 0);
 		printf("NS:Call phone=%lX..", call.phoneid);
 		switch (IPC_GET_METHOD(call)) {
+		case IPC_M_INTERRUPT:
+			printf("GOT INTERRUPT\n");
+			break;
 		case IPC_M_PHONE_HUNGUP:
 			printf("Phone hung up.\n");
@@ -55,5 +59,6 @@
 			break;
 		}
-		ipc_answer(callid, retval, arg1, arg2);
+		if (! (callid & IPC_CALLID_NOTIFICATION))
+			ipc_answer(callid, retval, arg1, arg2);
 	}
 }
