|
|
|
Закрыть файл без сброса буферов
|
|||
|---|---|---|---|
|
#18+
fclose() прежде чем закрыть файл записывает грязные буфера. Есть ли функция, которая просто закроет дескрптор и освободит структуру не тратя времени на сброс буферов, поскольку следующей строчкой будет удаление этого файла? Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.07.2014, 16:37:41 |
|
||
|
Закрыть файл без сброса буферов
|
|||
|---|---|---|---|
|
#18+
Можно почитать в направлении fdatasync. +У Роберта Лава в книге есть много материала на эту тему. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.07.2014, 16:50:00 |
|
||
|
Закрыть файл без сброса буферов
|
|||
|---|---|---|---|
|
#18+
maytonМожно почитать в направлении fdatasync. Проблема в том, что мне бы хотелось как раз обратного: закрыть файл перед его удалением и к чёрту недописанное. Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.07.2014, 16:58:37 |
|
||
|
Закрыть файл без сброса буферов
|
|||
|---|---|---|---|
|
#18+
Dimitry Sibiryakov, Взять через fileno() дескриптор и закрыть через close() вместо fclose() ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.07.2014, 17:16:40 |
|
||
|
Закрыть файл без сброса буферов
|
|||
|---|---|---|---|
|
#18+
Anatoly MoskovskyDimitry Sibiryakov, Взять через fileno() дескриптор и закрыть через close() вместо fclose() Боюсь, что гарантировать это нельзя. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.07.2014, 00:28:14 |
|
||
|
Закрыть файл без сброса буферов
|
|||
|---|---|---|---|
|
#18+
MasterZivБоюсь, что гарантировать это нельзя. Смотря про какие буфера идет речь. Если про тот что организуется в FILE над дескриптором - то я выше написал как его обойти. Если про буфера в дисковом кеше ОС, то если данные оказались в дисковом буфере, то юзерская программа уже не контролирует их судьбу. Можно недопустить использование дискового кеша. Есть соответствующие флаги у open() O_SYNC/O_DIRECT Но это скорее всего замедлит и усложнит работу с файлом когда данные таки должны будут записаться на диск :) Хотя я бы не заморачивался насчет дискового кеша. Дело в том что закрытие файла не приводит к немедленному сбросу кеша на диск. Сброс производится асинхронно (кроме O_SYNC/O_DIRECT). Поэтому на скорость закрытия это не должно влиять. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.07.2014, 01:59:34 |
|
||
|
|

start [/forum/topic.php?fid=57&msg=38704172&tid=2019357]: |
0ms |
get settings: |
11ms |
get forum list: |
19ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
214ms |
get topic data: |
7ms |
get forum data: |
2ms |
get page messages: |
37ms |
get tp. blocked users: |
1ms |
| others: | 232ms |
| total: | 531ms |

| 0 / 0 |
