Merge a fix for a Task bug which breaks the RWLock test
diff --git a/aos/externals/WPILib/WPILib/Task.cpp b/aos/externals/WPILib/WPILib/Task.cpp
index 5310d41..37f7d2f 100644
--- a/aos/externals/WPILib/WPILib/Task.cpp
+++ b/aos/externals/WPILib/WPILib/Task.cpp
@@ -88,7 +88,12 @@
 	bool ok = true;
 	if (Verify())
 	{
-		ok = HandleError(taskDelete(m_taskID));
+    STATUS result = taskDelete(m_taskID);
+    // If it got deleted between the Verify() and the taskDelete then it's not
+    // an actual error.
+    if (errno != S_objLib_OBJ_DELETED) {
+		  ok = HandleError(result);
+    }
 	}
 	m_taskID = kInvalidTaskID;
 	return ok;
@@ -136,6 +141,7 @@
  */
 bool Task::Verify()
 {
+  if (m_taskID == kInvalidTaskID) return false;
 	return taskIdVerify(m_taskID) == OK;
 }
 
@@ -188,6 +194,7 @@
 
 /**
  * Handles errors generated by task related code.
+ * @return Whether or not this result is considered successful.
  */
 bool Task::HandleError(STATUS results)
 {