diff --git a/main.c b/main.c index 779a2156..50790f34 100644 --- a/main.c +++ b/main.c @@ -2945,6 +2945,9 @@ static bool queue_request(struct thr_info *thr, bool needed) if (rq >= maxq || rs >= maxq) return true; + if (rs > rq) + goto out; + /* fill out work request message */ wc = calloc(1, sizeof(*wc)); if (unlikely(!wc)) { @@ -2973,6 +2976,7 @@ static bool queue_request(struct thr_info *thr, bool needed) workio_cmd_free(wc); return false; } +out: inc_queued(); return true; }