Allows users of wait_for_readable to conveniently
see if there is already a waiter. Yes, they could
do this themselves, but I'd rather peek at an existing
variable than add a new one caller-side.
Signed-off-by: John Spray <john.spray@redhat.com>
if ((got_any && !was_readable && readable) || read_pos == write_pos) {
// readable!
- ldout(cct, 10) << "_finish_read now readable (or at journal end)" << dendl;
+ ldout(cct, 10) << "_finish_read now readable (or at journal end) readable="
+ << readable << " read_pos=" << read_pos << " write_pos="
+ << write_pos << dendl;
if (on_readable) {
C_OnFinisher *f = on_readable;
on_readable = 0;
}
}
+bool Journaler::have_waiter() const
+{
+ return on_readable != nullptr;
+}
+
void wait_for_flush(Context *onsafe = 0);
void flush(Context *onsafe = 0);
void wait_for_readable(Context *onfinish);
+ bool have_waiter() const;
// Synchronous setters
// ===================