Я выполняю следующий вызов из библиотеки Apache Portable Runtime (версия 1.4):
result = apr_file_open(
&file, // new file handle
pathname, // file name
APR_FOPEN_CREATE | // create file if not there
APR_FOPEN_EXCL | // error if file was there already
APR_FOPEN_APPEND | // move to end of file on open
APR_FOPEN_BINARY | // binary mode (ignored on UNIX)
APR_FOPEN_XTHREAD | // allow multiple threads to use file
0, // flags
APR_OS_DEFAULT |
0, // permissions
pool // memory pool to use
);
if ( APR_SUCCESS != result ) {
fprintf(
stderr,
"could not create file \"%s\": %s",
pathname,
apr_errorstr( result )
);
}
и pathname
содержит строку /tmp/tempfile20110614091201
.
Я получаю сообщение об ошибке «Отказано в доступе» (код результата APR_EACCES
), но у меня есть права на чтение / запись /tmp
- что может быть причиной этого?