X-Git-Url: https://git.kernel.dk/?p=fio.git;a=blobdiff_plain;f=io_u_queue.h;h=bda40d5ea263920055f6d75c62bdca8e4559034c;hp=5b6cad0ef173926f1ff0e259bac560f2a69d1d83;hb=b0f0326a9cb65b04709a9a36df49aae9806e1e9a;hpb=6a7a92156a09ff66fd3e0ea062f2cdb339ca73c5 diff --git a/io_u_queue.h b/io_u_queue.h index 5b6cad0e..bda40d5e 100644 --- a/io_u_queue.h +++ b/io_u_queue.h @@ -12,8 +12,13 @@ struct io_u_queue { static inline struct io_u *io_u_qpop(struct io_u_queue *q) { - if (q->nr) - return q->io_us[--q->nr]; + if (q->nr) { + const unsigned int next = --q->nr; + struct io_u *io_u = q->io_us[next]; + + q->io_us[next] = NULL; + return io_u; + } return NULL; } @@ -23,7 +28,7 @@ static inline void io_u_qpush(struct io_u_queue *q, struct io_u *io_u) q->io_us[q->nr++] = io_u; } -static inline int io_u_qempty(struct io_u_queue *q) +static inline int io_u_qempty(const struct io_u_queue *q) { return !q->nr; }