RU/2: Форум. Общение пользователей и разработчиков OS/2 (eCS). : Ответить на сообщение
Имя:
e-mail:
FIDO:
Home page:
сохранить данные о вас
Тема:
> > >>это я про то что определение > > >>"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. > А как программист должен разрулить ситуацию "Открыть файл, если его нет, но не усекать, если он существует"?
__, _,_ __, _,_ _,
|_) | | | \ | / /_\
| \ | | |_/ |/ | |
~ ~ `~' ~ ~ ~ ~
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.