Hi, I have this flow ```stream .flatMapLatest { ...
# coroutines
u
Hi, I have this flow
Copy code
stream
	.flatMapLatest {
		flow {
			if (!blockingGetWritten()) {
				someSuspendFunction()
				blockingSetWritten(true)
			}
		}
	}
when upstream emits during the inner if statement, lets say just after
someSuspendFunction
but the
blockingSetWritten
has started executing, so it will finish regardless, because its blocking that however means, the new upstream emit might see
blockingGetWritten
still as false thefore i neet to wrap the if statement in a
Mutex
right? (or will the upstream somehow wait till
blockingSetWritten
completes -- I presume not) // Oh, If I actually cause upstream to change during the
blockingSetWritten
the flatMapLatest does not emit right away, it waits for the blocking function to complete, is this a coincidence or by design? I'd not expect that, since its on IO dispatcher anyways