Portál AbcLinuxu, 29. října 2025 23:27
Až ten přístup k mechanice bude za něco stát (tj. neblokující open() bude opravdu neblokující, příslušná ioctl() budou přerušitelná signálem, tak jak mají, nebudou existovat tři naprosto se nevylučující přístupy k mechanice s možností exkluzivního přístupu, tak jsem ochoten v něm pokračovat. Do té doby by to byl stejný bastl, jako ostatní vypalovací programy pro linux, co něco předpokládají a fungují, jen když je to pravda (i když je to většinu času pro většinu uživatelů, ale je tu pořád šance podělávání z pitomejch a naprosto zbytečnejch důvodů).
O_NONBLOCK: When possible, the file is opened in nonblocking mode. Neither the open() nor any subsequent operations ... will cause the calling process to waitJó, no. Bohužel tohle je mi k ničemu. Každopádně bez toho bych se obešel, kdyby to opět bylo přerušitelné signálem. Zase ale otázka, jestli CD mechanika patří mezi pomalé zařízení. Podle mě ano, manuálová stránka zmiňuje za pomalé např. FIFO a open() na zařízení mechaniky může trvat např. minutu a pokud to je nepřerušitelné signálem, je to blbé.
Brasero je parodie na vypalovací program, skoro nic tam nejde nastavit. Pořád mi vypaluje maximální rychlostí, i když nastavím nižší. Neustále po konci vypalování hází errora "médium nelze vysunout", přitom čudlíkem vysunout jde a zrovna tak i ikonkou ve filemanageru (pcmanfm2-git) - to je právě kvůli tomu debilnímu hádání se o přístup k mechanice a nemožnosti mít exkluzivní přístup (jinak by si ji brasero otevřelo, vypálilo, vysunulo a až poté zavřelo a nemusela by mu to během znovuzasunutí pro kontrolu disku ukradnout jiná aplikace (udisks).). Dále brasero nabízí zvláštní hodnoty rychlosti pálení, typu 3,6x, 4,2x (hodnoty si přesně nepamatuju, ale prostě takovýhle kraviny) - ty ale stejně nefungujou a pálí na maximum.Dobrý. Sorry, že jsem obtěžoval. Já budu asi nějaký vadný nebo co.
EWOULDBLOCK The O_NONBLOCK flag was specified, and an incompatible lease was held on the file (see fcntl(2)).takze bezne chovani je, ze jako blokuji se bere jen open z hlediska zamykani. Samozrejme ruzne FS a device to muzou implementovat po svem. Muzete si zkusit pridat podporu pro prijem signalu do jadra, vetsinou to nebyva moc problem (vizte knizku linux device drivers, volne dostupna).
Posledně jsem zkoušel najít, kam bych mohl narvat nějaký nový ioctl() na získávání exkluzivního přístupu pro mechaniku (kvůli tomu pálení) tak, aby to fungovalo pro všechny drivery (sr, sg a spol.), bohužel se nepodařilo, akorát jsem zjistil, že si to každý driver honí po svém.
.
.
) rozšifrovat
Tiskni
Sdílej:
ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.