mirror of
https://github.com/scylladb/scylladb.git
synced 2026-06-09 16:33:35 +00:00
Previous version dit looping on post execution and signaling of waiters. This could "race" with an op just finishing if task reordering happened. This version simplifies the code significantly (and raises the question why it was not written like this in the first place... Shame on me) by simpy building a promise-dependency chain between _previous_ queue items and next instead. Also, the code now handles propagation of return value from the "Func" pre-op to the "Post" op, with exceptions automatically handled.
4.7 KiB
4.7 KiB