MINOR: h2: don't re-enable the connection's task when we're closing

It's pointless to requeue the task when we're closing, so swap the
order of the task_queue() and h2_release(). It also matches what
was written in the comment regarding re-arming the timer.
diff --git a/src/mux_h2.c b/src/mux_h2.c
index b241a5b..e1c9955 100644
--- a/src/mux_h2.c
+++ b/src/mux_h2.c
@@ -2195,20 +2195,10 @@
 		/* h2s still attached to the h2c */
 		eb32_delete(&h2s->by_id);
 
-		if (h2c->task) {
-			if (eb_is_empty(&h2c->streams_by_id)) {
-				h2c->task->expire = tick_add(now_ms, h2c->timeout);
-				task_queue(h2c->task);
-			}
-			else
-				h2c->task->expire = TICK_ETERNITY;
-		}
-
 		/* We don't want to close right now unless we're removing the
 		 * last stream, and either the connection is in error, or it
 		 * reached the ID already specified in a GOAWAY frame received
-		 * or sent (as seen by last_sid >= 0). A timer should be armed
-		 * to kill the connection after some idle time though.
+		 * or sent (as seen by last_sid >= 0).
 		 */
 		if (eb_is_empty(&h2c->streams_by_id) &&     /* don't close if streams exist */
 		    ((h2c->conn->flags & CO_FL_ERROR) ||    /* errors close immediately */
@@ -2219,6 +2209,14 @@
 			/* no more stream will come, kill it now */
 			h2_release(h2c->conn);
 		}
+		else if (h2c->task) {
+			if (eb_is_empty(&h2c->streams_by_id)) {
+				h2c->task->expire = tick_add(now_ms, h2c->timeout);
+				task_queue(h2c->task);
+			}
+			else
+				h2c->task->expire = TICK_ETERNITY;
+		}
 	}
 	pool_free2(pool2_h2s, h2s);
 }