várakozás hívás befejeztéig

Fórumok

Usb-n kommunikálok saját mikrovezérlől hardware-rel. Mivel több másodpercet is igénybe vesz a dolog, kiíratom, hogy

printf ("Downloading... ");
usleep(500000);
send_usb(block);

Ennek ellenére csak a kommunikáció után íródik csak ki a szöveg. Sima c-ben, gcc-vel fordított forrásról van szó, semmi tudatos multi-thread részemről.
Hogyan előzheti meg az usb kezelés a printf utasítást? Nem értek a multi-thread világhoz, így lehet, butaságot kérdezek, de lehet, hogy a gcc több szálon futtatja? Netán a konkurráló printf és az usb az utóbbi nagyobb erőforrás-igénye miatt tartja fel a kiíratást?

Szerk.: Ja és a lényeg: mit tehetek ellene?

Hozzászólások

printf ("Downloading...\n");
vagy fflush(); ahogy már írták.