New submission from Giampaolo Rodola' <[email protected]>:
>>> import resource
>>> high = 300 * 1024 * 1024
>>> resource.setrlimit(resource.RLIMIT_MEMLOCK, (high, high))
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
ValueError: not allowed to raise maximum limit
>>>
Internally EPERM is translated into ValueError (should have been
PermissionError). resource.prlimit(), on the other hand, is not affected
(correctly raises PermissionError):
>>> resource.prlimit(os.getpid(), resource.RLIMIT_MEMLOCK, (high, high))
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
PermissionError: [Errno 1] Operation not permitted
It seems 'ValueError' was used in order to provide a more informative error
message, but IMO it was a bad call.
Proposal is to change this in 3.9 only, and document it under whatsnew/porting.
----------
components: Library (Lib)
messages: 354701
nosy: giampaolo.rodola
priority: normal
severity: normal
status: open
title: resource.setrlimit() should raise PermissionError
versions: Python 3.9
_______________________________________
Python tracker <[email protected]>
<https://bugs.python.org/issue38480>
_______________________________________
_______________________________________________
Python-bugs-list mailing list
Unsubscribe:
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com