Symulowanie juniksa w EMX

Autor: Jan Stożek (jasio_at_nowhere.pl)
Data: Fri 03 Dec 1999 - 01:02:40 MET


Cześć magi-C-y,

        Mam pytanie za dwa punkty. Otóż juniks dopuszcza kasowanie i zmianę
nazwy otwartych plików (a pewnie i inne operacje na nich), podczas gdy
OS/2 - nie. Powoduje to, że niektóre programy przenoszone z Linucha
perfidnie się wysypują. Ostatni (dla mnie) przykład: MySQL/2 nie
pozwala na wykonanie polecenia ALTER TABLE (i paru innych poleceń na
tablicach), bo najwyraźniej próbuje skasować albo zmienić nazwę
plikowi, który sam był otworzył.

        Now: programy portowane z Linucha zwykle wykorzystują EMX. Czy nie
dałoby się więc zhakować odpowiednich bibliotek, aby przynajmniej
symulowały linuksowy sposób obsługi plików? Widziałbym to np. w ten
sposób, że systemowe funkcje obsługi plików wywoływane są przez stuby
i jeżeli system zwraca błąd podczas niektórych operacjach plikowych
(np. delete, rename), to operacja jest zachowywana w kolejce na
później i potem po każdej operacji plikowej kolejka jest przeglądana,
na wypadek zwolnienia "zaległych" plików. W przypadku braku możliwości
wykonania open/create można by dać tworzonemu plikowi nazwę
tymczasową, a do kolejki wrzucić rename na nazwę właściwą.... Czy
byłoby to wykonalne i sensowne? Oczywiście, trzeba by to uszczegółowić
i rozpoznać np. przyczynę błędu (np. brak możliwości skasowania pliku
może wynikać z faktu, że pliku w ogóle nie ma), dopisać przeglądanie
kolejki podczas zamykania programu (zarówno normalnego jak i
awaryjnego) itp, ale chodzi mi o zasadę.

-- 
Pozdrawiam,
Jan.
PS. Mój adres: nowhere = Polbox. 


To archiwum zostało wygenerowane przez hypermail 2.1.7 : Tue 18 May 2004 - 15:24:40 MET DST