Index: /trunk/src/VBox/Main/src-all/ThreadTask.cpp
===================================================================
--- /trunk/src/VBox/Main/src-all/ThreadTask.cpp	(revision 59317)
+++ /trunk/src/VBox/Main/src-all/ThreadTask.cpp	(revision 59318)
@@ -20,4 +20,7 @@
 #include "ThreadTask.h"
 
+/** @todo r=bird: DOCUMENTATION!! 'ING DOCUMENTATION!! THIS 'ING FUNCTION
+ *        CONSUMES THE this OBJECTED AND YOU AREN'T EXACTLY 'ING TELLING
+ *        ANYBODY.  THAT IS REALLY NICE OF YOU. */
 HRESULT ThreadTask::createThread(PRTTHREAD pThread, RTTHREADTYPE enmType)
 {
@@ -40,4 +43,7 @@
     catch(HRESULT eRC)
     {
+        /** @todo r=bird: only happens in your above throw call.
+         *  Makes you wonder why you don't just do if (RT_SUCCESS(vrc)) return S_OK;
+         *  else {delete pTask; return E_FAIL;}   */
         rc = eRC;
         delete this;
@@ -45,4 +51,5 @@
     catch(std::exception& )
     {
+        /** @todo r=bird: can't happen, RTThreadCreate+Utf8Str doesn't do this. */
         rc = E_FAIL;
         delete this;
@@ -50,4 +57,5 @@
     catch(...)
     {
+        /** @todo r=bird: can't happen, RTThreadCreate+Utf8Str doesn't do this. */
         rc = E_FAIL;
         delete this;
@@ -72,4 +80,12 @@
         pTask->handler();
     }
+    /** @todo r=bird: This next stuff here is utterly and totally pointless, as
+     *        the handler() method _must_ and _shall_ do this, otherwise there is
+     *        no 'ing way we can know about it, since you (a) you always return
+     *        VINF_SUCCESS (aka '0'), and (b) the thread isn't waitable even if
+     *        you wanted to return anything.  It is much preferred to _crash_ and
+     *        _burn_ if we fail to catch stuff than quietly ignore it, most
+     *        likely the state of the objects involved is butchered by this.  At
+     *        least AssertLogRel()! Gee. */
     catch(HRESULT eRC)
     {
