Anonymous | Login | 2024-10-09 03:45 UTC |
Main | My View | View Issues | Change Log | Docs |
Viewing Issue Simple Details [ Jump to Notes ] | [ Issue History ] [ Print ] | ||||||
ID | Category | Severity | Type | Date Submitted | Last Update | ||
0001669 | [Issue 8 drafts] Shell and Utilities | Comment | Enhancement Request | 2023-04-17 14:15 | 2024-06-11 09:12 | ||
Reporter | geoffclare | View Status | public | ||||
Assigned To | |||||||
Priority | normal | Resolution | Accepted | ||||
Status | Closed | Product Version | Draft 3 | ||||
Name | Geoff Clare | ||||||
Organization | The Open Group | ||||||
User Reference | |||||||
Section | ulimit | ||||||
Page Number | 3442 | ||||||
Line Number | 117558 | ||||||
Final Accepted Text | |||||||
Summary | 0001669: Make the ulimit utility consistent with [gs]etrlimit() wrt XSI | ||||||
Description |
In draft 3 getrlimit() and setrlimit() were moved from XSI to Base (except for RLIMIT_CPU and RLIMIT_FSIZE). Since the ulimit utility provides corresponding functionality in shells, it should be made consistent with [gs]etrlimit() as regards what features are XSI. There is a slight complication - the file size limit is the default resource for ulimit when no resource option is specified, and it would be strange to have the default be XSI. The reason RLIMIT_FSIZE is XSI is because of the SIGXFSZ signal, so the obvious solution is to treat only the SIGXFSZ requirements as XSI and to make the ability to (get and) set the file size limit be a Base requirement. This will also affect the EFBIG errors for functions that write to files and a few other file-size-limit-related things. |
||||||
Desired Action |
On page 398 line 13963 page <sys/resource.h>, remove XSI shading from RLIMIT_FSIZE. On page 507 line 17919 section 2.3 Error Numbers (EFBIG), change: The size of a file would exceed the maximum file size of an implementation or offset maximum established in the corresponding file description.to: The size of a file would exceed the implementation's maximum file size, the file size limit of the process, or the offset maximum established in the corresponding open file description. On page 605 line 21517 section aio_write(), change: [XSI]If the request would cause the file size to exceed the soft file size limit for the process and there is no room for any bytes to be written, the request shall fail and the implementation shall generate the SIGXFSZ signal for the thread.[/XSI]to: If the request would cause the file size to exceed the soft file size limit for the process and there is no room for any bytes to be written, the request shall fail [XSI]and the implementation shall generate a SIGXFSZ signal for the thread[/XSI]. On page 606 line 21550 section aio_write(), change: [XSI][EFBIG]to:The file is a regular file, aiobcp->aio_nbytes is greater than 0, and there is no room for any bytes to be written at the starting position without exceeding the file size limit for the process. A SIGXFSZ signal shall also be sent to the thread.[/XSI] [EFBIG]The file is a regular file, aiobcp->aio_nbytes is greater than 0, and there is no room for any bytes to be written at the starting position without exceeding the file size limit for the process. [XSI]A SIGXFSZ signal shall also be generated for the thread.[/XSI] On page 868 line 29616 section exec, remove XSI shading from: File size limit (see getrlimit() and setrlimit()) On page 868 line 29620 section exec, remove XSI shading from: Resource limits On page 868 line 29644 section exec, remove XSI shading from: The saved resource limits in the new process image are set to be a copy of the process' corresponding hard and soft limits. On page 896 line 30567 section fclose(), and page 939 line 31953 section fflush(), and page 1005 line 34499 section fputc(), and page 1009 line 34648 section fputwc(), and page 1042 line 35806 section fseek(), and page 1045 line 35922 section fsetpos(), change: [XSI][EFBIG]to:An attempt was made to write a file that exceeds the file size limit of the process. A SIGXFSZ signal shall also be sent to the thread.[/XSI] [CX][EFBIG]An attempt was made to write a file that exceeds the file size limit of the process.[/CX] [XSI]A SIGXFSZ signal shall also be generated for the thread.[/XSI] On page 1066 line 36626 section ftruncate(), and page 2283 line 74481 section truncate(), change: [XSI]If the request would cause the file size to exceed the soft file size limit for the process, the request shall fail and the implementation shall generate the SIGXFSZ signal for the thread.[/XSI]to: If the request would cause the file size to exceed the soft file size limit for the process, the request shall fail [XSI]and the implementation shall generate a SIGXFSZ signal for the thread[/XSI]. On page 1066 line 36648 section ftruncate(), and page 2283 line 74496 section truncate(), change: [XSI][EFBIG]to:The length argument exceeds the file size limit of the process. A SIGXFSZ signal shall also be sent to the thread.[/XSI] [EFBIG]The length argument exceeds the file size limit of the process. [XSI]A SIGXFSZ signal shall also be generated for the thread.[/XSI] On page 1172 line 40121 page getrlimit(), change: [XSI]RLIMIT_FSIZEto:This is the maximum size of a file, in bytes, that can be created by a process. If a write or truncate operation would cause this limit to be exceeded, SIGXFSZ shall be generated for the thread. If the thread is blocking, or the process is catching or ignoring SIGXFSZ, continued attempts to increase the size of a file from end-of-file to beyond the limit shall fail with errno set to [EFBIG].[/XSI] RLIMIT_FSIZEThis is the maximum size of a file, in bytes, that can be created by a process. If a write or truncate operation would cause this limit to be exceeded, [XSI]a SIGXFSZ signal shall be generated for the thread; if the thread is blocking, or the process is catching or ignoring SIGXFSZ,[/XSI] the operation shall fail with an [EFBIG] error. On page 1555 line 52234 section posix_fallocate(), change: [XSI][EFBIG]to:The value of offset+len exceeds the file size limit of the process. A SIGXFSZ signal shall also be sent to the thread.[/XSI] [EFBIG]The value of offset+len exceeds the file size limit of the process. [XSI]A SIGXFSZ signal shall also be generated for the thread.[/XSI] On page 2423 line 78472 section write(), change: for example, [XSI]the file size limit of the process or[/XSI] the physical end of a mediumto: for example, the file size limit of the process or the physical end of a medium On page 2423 line 78477 section write(), change: [XSI]If the request would cause the file size to exceed the soft file size limit for the process and there is no room for any bytes to be written, the request shall fail and the implementation shall generate the SIGXFSZ signal for the thread.[/XSI]to: If the request would cause the file size to exceed the soft file size limit for the process and there is no room for any bytes to be written, the request shall fail [XSI]and the implementation shall generate a SIGXFSZ signal for the thread[/XSI]. On page 2425 line 78551 section write(), change: [XSI][EFBIG]to:An attempt was made to write a file that exceeds the file size limit of the process, and there was no room for any bytes to be written. A SIGXFSZ signal shall also be sent to the thread.[/XSI] [EFBIG]An attempt was made to write a file that exceeds the file size limit of the process, and there was no room for any bytes to be written. [XSI]A SIGXFSZ signal shall also be generated for the thread.[/XSI] On page 2505 line 81712 section 2.13 Shell Execution Environment, remove XSI shading from: File size limit as set by ulimit On page 3442 line 117558 section ulimit, remove XSI shading from the entire SYNOPSIS except for the -t option. On page 3442 line 117593 section ulimit, add XSI shading to the description of -t. |
||||||
Tags | applied_after_i8d3, issue8 | ||||||
Attached Files | |||||||
|
Relationships | |||||||||||||
|
There are no notes attached to this issue. |
Mantis 1.1.6[^] Copyright © 2000 - 2008 Mantis Group |