◐ Shell
clean mode source ↗

Message 215969 - Python tracker

I added some comments.

Your problem with lost data may be caused by the fact you call ov.cancel() and expect ov.pending to tell you whether the write has/will succeed.  Instead you should use ov.getresult() and expect either success or an "aborted" error.