diff --git a/lib/ChangeLog b/lib/ChangeLog
index 5a0eff5..82ea6fd 100644
--- a/lib/ChangeLog
+++ b/lib/ChangeLog
@@ -1,3 +1,9 @@
+2005-05-19 Paul Jakma <paul@dishone.st>
+
+	* thread.c: (thread_cancel_event) the number of pending events
+	  cancelled is potentially useful information, dont throw it away,
+	  pass it back to the caller.
+
 2005-05-15 Paul Jakma <paul@dishone.st>
 
 	* getopt.h: It's not just __GNU_LIBRARY__ which defines
diff --git a/lib/thread.c b/lib/thread.c
index a18db25..32fc15e 100644
--- a/lib/thread.c
+++ b/lib/thread.c
@@ -663,9 +663,10 @@
 }
 
 /* Delete all events which has argument value arg. */
-void
+unsigned int
 thread_cancel_event (struct thread_master *m, void *arg)
 {
+  unsigned int ret = 0;
   struct thread *thread;
 
   thread = m->event.head;
@@ -678,11 +679,13 @@
 
       if (t->arg == arg)
         {
+          ret++;
           thread_list_delete (&m->event, t);
           t->type = THREAD_UNUSED;
           thread_add_unuse (m, t);
         }
     }
+  return ret;
 }
 
 static struct timeval *
diff --git a/lib/thread.h b/lib/thread.h
index 4a3bbbe..f693ff5 100644
--- a/lib/thread.h
+++ b/lib/thread.h
@@ -185,7 +185,7 @@
                                                int (*)(struct thread *),
                                                void *, int, const char *);
 extern void thread_cancel (struct thread *);
-extern void thread_cancel_event (struct thread_master *, void *);
+extern unsigned int thread_cancel_event (struct thread_master *, void *);
 extern struct thread *thread_fetch (struct thread_master *, struct thread *);
 extern void thread_call (struct thread *);
 extern unsigned long thread_timer_remain_second (struct thread *);
