Index: kernel/generic/include/ipc/event_types.h
===================================================================
--- kernel/generic/include/ipc/event_types.h	(revision 34356b2dd55bd8b155dde6fd600f45631a414ccb)
+++ kernel/generic/include/ipc/event_types.h	(revision 95ad4261a658c1251b4295a88cf46215f3b4cde7)
@@ -39,4 +39,5 @@
 	EVENT_KLOG = 0,
 	EVENT_KCONSOLE,
+	EVENT_WAIT,
 	EVENT_END
 } event_type_t;
Index: kernel/generic/include/macros.h
===================================================================
--- kernel/generic/include/macros.h	(revision 34356b2dd55bd8b155dde6fd600f45631a414ccb)
+++ kernel/generic/include/macros.h	(revision 95ad4261a658c1251b4295a88cf46215f3b4cde7)
@@ -84,4 +84,9 @@
 #define STRING_ARG(arg)  #arg
 
+#define LOWER32(arg)  ((arg) & 0xffffffff)
+#define UPPER32(arg)  (((arg) >> 32) & 0xffffffff)
+
+#define MERGE_LOHI32(lo, hi)  ((lo & 0xffffffff) | ((hi & 0xffffffff) < 32))
+
 /** Pseudorandom generator
  *
Index: kernel/generic/src/proc/task.c
===================================================================
--- kernel/generic/src/proc/task.c	(revision 34356b2dd55bd8b155dde6fd600f45631a414ccb)
+++ kernel/generic/src/proc/task.c	(revision 95ad4261a658c1251b4295a88cf46215f3b4cde7)
@@ -55,4 +55,6 @@
 #include <string.h>
 #include <syscall/copy.h>
+#include <macros.h>
+#include <ipc/event.h>
 
 /** Spinlock protecting the tasks_tree AVL tree. */
@@ -230,4 +232,10 @@
 		as_destroy(t->as);
 	
+	/*
+	 * Notify about task destruction.
+	 */
+	if (event_is_subscribed(EVENT_WAIT))
+		event_notify_2(EVENT_WAIT, LOWER32(t->taskid), UPPER32(t->taskid));
+	
 	free(t);
 	TASK = NULL;
