RU/2: Форум. Общение пользователей и разработчиков OS/2 (eCS). : ... и всякое такое


Список сообщений | Написать новое | Ответить на сообщение | Домой Поиск:
Предыдущее сообщение | Следующее сообщение
From : Василий А. Сидоров
To : Alexander Conon
Subj : ... и всякое такое

> >>это я про то что определение
> >>"DosOpen opens a new file, an existing file,
> >>or a replacement for an existing file"
> >>должно быть таким
> >>"DosOpen opens an existing file"
> >А чтобы, значит, создать новый файл должна быть отдельная функция DosCreateFile,
> и она там уже есть, но в неявном виде.
Ты как-то очень избирательно читаешь.
DosOpen в его текущей реализации позволяет не просто открыть существующий файл, но и решить что делать, если надо создать файл, а он уже существует или наоборот - что делать если файл существует, а надо бы его создать. Весь этот функционал реализован внутри одной функции, а это гарантирует атомарность операции.
> а в явном виде есть например DosCreateQueue,
> несмотря на то что есть DosOpenQueue.
> и кст DosOpenQueue очередь создать не может :)
А DosOpenPipe - вообще нет.
И что?
> >а для того, чтобы (атомарно) усечь открываемый файл - ещё и DosReplaceFile?
> >А для того, чтобы (атомарно) усечь или создать - третья,
> >которая (унутре) будет звать или DosCreateFile или DosReplaceFile?
> нет. усечением и увеличением должна заниматься DosSetFileSize.
А как программист должен разрулить ситуацию "Открыть файл, если его нет, но не усекать, если он существует"?

Sun 20 Jul 2008 05:54 Mozilla/5.0 (Windows; U; Windows NT 5.2; ru-RU; rv:1.8.1.13)




Programmed by Dmitri Maximovich, Dmitry I. Platonoff, Eugen Kuleshov.
25.09.99 (c) 1999, RU/2. All rights reserved.
Rewritten by Dmitry Ban. All rights ignored.