[devel] temporary file handling: questions

Dmitry V. Levin =?iso-8859-1?q?ldv_=CE=C1_altlinux=2Eorg?=
Ср Июн 11 03:32:52 MSD 2003


On Wed, Jun 11, 2003 at 03:14:59AM +0400, Grigory Batalov wrote:
>   Если я правильно понимаю, fdopen/fclose используются, чтобы
>   "занять" файловый дескриптор потоком и предотвратить
>   немедленное удаление функцией unlink?

Нет, неправильно.
fdopen(3) использует передаваемый в качестве аргумента дескриптор.

>   Или fdopen/fclose приведены для примера потокового
>   ввода/вывода, и их можно опустить (например, мне достаточно
>   open/close)? В этом случае "оттягивать до последнего"
>   нужно вызов close(fd) ?

Да, fdopen(3) приведён в качестве (реального) примера в случае, когда
осуществляется чтение/запись во временный файл.  Можно не использовать
stdio и обойтись read(2)/write(2); в этом случае вместо fclose(3) будет
вызов close(2).

Главное - сделать unlink(2) как можно раньше, и обязательно до закрытия
дескриптора файла.  Следует избегать файловых операций с именем временного
файла.


--
ldv
----------- следующая часть -----------
Было удалено вложение не в текстовом формате...
Имя     : =?iso-8859-1?q?=CF=D4=D3=D5=D4=D3=D4=D7=D5=C5=D4?=
Тип     : application/pgp-signature
Размер  : 189 байтов
Описание: =?iso-8859-1?q?=CF=D4=D3=D5=D4=D3=D4=D7=D5=C5=D4?=
Url     : <http://lists.altlinux.org/pipermail/devel/attachments/20030611/e58b65ab/attachment-0001.bin>


Подробная информация о списке рассылки Devel