Ez szerintem van olyan jó, mint az eredeti volt.
Érdekes ... az első "buffertelítéskor" egy flag -gel lekapcsoltam a buffer használatot, mikor nem volt "elég jó", akkor az msdn help szerint bekapcsoltam még egy "write through" flag -et is, mert azt írták, hogy a kettő együtt már garantált buffertelenség lesz, aztán mikor még az sem lett jó, akkor az írás művelet után betettem egy explicit buffer flush műveletet ... ettől jobb lett ... hogy ki lett flush -ölve a már nem használt és keresztül írt buffer ... érdekes ...
Lehet hogy ezekkel csak a file buffereket ignorálom ki, és talán van még más alacsonyabb szintű, tudomisén device szintű, vagy OS szintű bufferek is ... Elég fura hogy nem tudjuk elérni, hogy ténylegesen végigmenjen a kiírás ...
Még azt lehetne kipróbálni, hogy ténylegesen lezárom a (kérdéses esetben egész lemezt jelképező) file -t minden írás után, és újra nyitom ... hatha azt már tényleg komolyan veszi ... persze ha van valami driver szintű, vagy eszköz szintű bufferelés is, akkor az még lehet arra sem halgatna ...
Mondjuk érdekes hogy az az írás művelet ( amit mondasz ) megakasztja az emulátor szálat ... Ha ilyen os szintű valami flush/írás művelet, akkor miért kéne emu szalat blokkoljon ? Nem is ertem ...