Подробности
[В начало]
Проблема в реализации № S0167
Краткое описание
Функция ulimit(UL_SETFSIZE) не возвращает целую часть нового предельного размера файла деленного на 512
Подробное описание
В соответствии со стандартом LSB, функция ulimit(UL_SETFSIZE) должна возвращать целую часть нового предельного размера файла деленного на 512. В действительности, функция всегда возвращает 0 в случае успешного завершения. Следующий код иллюстрирует проблему. Он показывает, что после вызова ulimit(UL_SETFSIZE, 10000) предельный размер файла изменился, но этот вызов вернул 0.
Раздел стандарта
Linux Standard Base Core Specification 3.1, Chapter 13. Base Libraries, 13.5. Interface Definitions for libc, description of ulimit() function., который ссылается на The Open Group Base Specifications Issue 6 IEEE Std 1003.1, 2004 Edition (SUS 3.0), System Interfaces, description of functions ulimit().
Пример
#include <ulimit.h> #include <stdio.h> int main( int argc, char ** argv ) { long res; res=ulimit(UL_GETFSIZE); printf("Result of ulimit(UL_GETFSIZE): %ld\n", res); res=ulimit(UL_SETFSIZE, 10000); printf("Result of ulimit(UL_SETFSIZE, 10000): %ld\n", res); res=ulimit(UL_GETFSIZE); printf("Result of ulimit(UL_GETFSIZE): %ld\n", res); return 0; }
Компонент
glibc
Принято
Red Hat Bugzilla, 6947
Статус
Исправлено в glibc-2.9
[В начало]