Index: kernel/generic/include/ipc/ipc.h
===================================================================
--- kernel/generic/include/ipc/ipc.h	(revision 9c9bbaf01bb69215de160f9226c81751afb6a327)
+++ kernel/generic/include/ipc/ipc.h	(revision c33f39f4a55470110026b6a1da1f54f3b2870e05)
@@ -72,4 +72,7 @@
 typedef struct answerbox {
 	IRQ_SPINLOCK_DECLARE(lock);
+
+	/** Answerbox is active until it enters cleanup. */
+	bool active;
 	
 	struct task *task;
@@ -171,5 +174,5 @@
 
 extern void ipc_phone_init(phone_t *);
-extern void ipc_phone_connect(phone_t *, answerbox_t *);
+extern bool ipc_phone_connect(phone_t *, answerbox_t *);
 extern int ipc_phone_hangup(phone_t *);
 
Index: kernel/generic/include/ipc/ipcrsc.h
===================================================================
--- kernel/generic/include/ipc/ipcrsc.h	(revision 9c9bbaf01bb69215de160f9226c81751afb6a327)
+++ kernel/generic/include/ipc/ipcrsc.h	(revision c33f39f4a55470110026b6a1da1f54f3b2870e05)
@@ -42,5 +42,5 @@
 extern int phone_get(sysarg_t, phone_t **);
 extern int phone_alloc(task_t *);
-extern void phone_connect(int, answerbox_t *);
+extern bool phone_connect(int, answerbox_t *);
 extern void phone_dealloc(int);
 
