MEDIUM: tasks: Don't account a destroyed task as a runned task.

In process_runnable_tasks(), if the task we're about to run has been
destroyed, and should be free, don't account for it in the number of task
we ran. We're only allowed a maximum number of tasks to run per call to
process_runnable_tasks(), and freeing one shouldn't take the slot of a
valid task.
diff --git a/src/task.c b/src/task.c
index f38807c..b4f65e8 100644
--- a/src/task.c
+++ b/src/task.c
@@ -388,7 +388,12 @@
 			t = process(TASK_IS_TASKLET(t) ? NULL : t, ctx, state);
 		else {
 			__task_free(t);
-			t = NULL;
+			curr_task = NULL;
+			/* We don't want max_processed to be decremented if
+			 * we're just freeing a destroyed task, we should only
+			 * do so if we really ran a task.
+			 */
+			continue;
 		}
 		curr_task = NULL;
 		/* If there is a pending state  we have to wake up the task