Hibás alapfeltételezéssel indítasz.
A dolog úgy indul, hogy a fájl nyitása megtörténik. Ez egy log fájl. Amíg a program végrehajtása oda nem jut, hogy lezárja, addig közben-közben beleíródik egy vagy több sor. Futhat a program két percig vagy akár huszonkét óráig. Amíg fut és nincs zárás, és van írás, addig a log nőttön-nő. A flush szerepe az, hogy ha közben elszállna a program, akkor a legutoljára kiírt sor is legyen benne a fájlban.
Tehát a flush hívása után nincs fájl zárás, hanem a következő kiírandó sorra várakozás van. Aztán majd egyszer valamikor a zárás is megtörténik.
Igyekeztem részletesen leírni a koncepciót és a működést. Kérdezz vissza amennyiben valami tisztázatlan maradt.
Természetesen, most már nincs flush, csak nyitás, írás, zárás.