[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