Closed GoogleCodeExporter closed 9 years ago
Commented by blaze@nixdev.net on 2010-04-01 13:18:10:
Вот ещё неверная работа с файлом:
samsdaemon-strace.12640:00:00:04 open("/etc/squid/squid.conf.bak", O_RDONLY)
= 6
samsdaemon-strace.12640:00:00:04 open("/etc/squid/squid.conf",
O_WRONLY|O_CREAT|O_TRUNC, 0666) = 7
Сначала удалить конфиг сквида, и затем
копировать - кривое решение. Если samsdaemon
вылетит до завершения копирования, конфиг
будет потерян.
Правильноая операция -
rename("/etc/squid/squid.conf.bak","/etc/squid/squid.conf") :
КРАТКАЯ СВОДКА
#include <unistd.h>
int rename(const char *oldpath, const char *newpath);
ОПИСАНИЕ
rename переименовывает файл, перемещая его между каталогами, если требуется.
Все прочие жесткие ссылки на файл (созданные с помощью link(2)) не изменяются.
Если newpath уже существует, то он будет атомарно перезаписан (при определенных условиях - смотри
ОШИБКИ ниже), так что нет ни одной точки, когда другой процесс, пытающийся обратиться к newpath, не
обнаружит его.
Если newpath существует, но операция завершается неуспешно или система аварийно завершает работу,
rename гарантируется, что newpath останется нетронутым.
Original comment by bl...@nixdev.net
on 5 Jun 2011 at 8:08
Commented by chemerik@mail.ru on 2010-04-01 21:26:56:
>> файл, к его конфигурации никак не
относящийся
какое название у этого файла?
samsdaemon должен удалять только файлы с
расширением *.sams
Original comment by bl...@nixdev.net
on 5 Jun 2011 at 8:08
Commented by blaze@nixdev.net on 2010-04-01 22:36:35:
rename и потом open(O_WRONLY|O_CREAT|O_TRUNK) имеет свои
недостатки. Например, новый созданный файл
будет иметь другие права доступа и
владельца (отличные от исходного).
Original comment by bl...@nixdev.net
on 5 Jun 2011 at 8:08
Commented by blaze@nixdev.net on 2010-09-06 10:45:49:
Milestone sams-1.1.0 deleted
Original comment by bl...@nixdev.net
on 5 Jun 2011 at 8:08
Close all deprecated bugs from 1.0.x tree.
Original comment by bl...@nixdev.net
on 10 Jun 2011 at 10:07
Original issue reported on code.google.com by
bl...@nixdev.net
on 5 Jun 2011 at 8:08