Issue16834
Created on 2013-01-01 14:56 by Yuval.Weinbaum, last changed 2020-11-06 22:43 by iritkatriel.
| Messages (3) | |||
|---|---|---|---|
| msg178732 - (view) | Author: Yuval Weinbaum (Yuval.Weinbaum) | Date: 2013-01-01 14:56 | |
In fcntl module, the documentation states the following regarding the mutate_flag in ioctl method: *** If it is false, the buffer’s mutability is ignored and behaviour is as for a read-only buffer, except that the 1024 byte limit mentioned above is avoided – so long as the buffer you pass is as least as long as what the operating system wants to put there, things should work. *** However, looking at the code (fcntlmodule.c) it seems that the 1024 bytes limitation is avoided when the mutate_flag is set to True (the opposite of what is stated in the doc). |
|||
| msg223123 - (view) | Author: Mark Lawrence (BreamoreBoy) * | Date: 2014-07-15 17:18 | |
@Yuval sorry about the delay in replying. Can a *nix person comment on this please as I stick with Windows. |
|||
| msg238579 - (view) | Author: Martin Panter (martin.panter) * ![]() |
Date: 2015-03-19 23:10 | |
Looking at the C code, if a writable buffer is passed, mutate_arg is false, and the buffer is longer than 1024 bytes, then a ValueError is raised: >>> ioctl(0, 0, bytearray(2048), False) Traceback (most recent call last): File "<stdin>", line 1, in <module> ValueError: ioctl string arg too long So it seems the implementation does not match the documentation’s claim that “the 1024 byte limit . . . is avoided”. IMO this is an implementation bug. But instead of (or in addition to) fixing it, maybe we could consider removing “mutate_flag” parameter altogether. It was originally added as a backwards compatibility helper for Issue 555817 in Python 2.3, and changed to True by default in Python 2.5. |
|||
| History | |||
|---|---|---|---|
| Date | User | Action | Args |
| 2020-11-06 22:43:18 | iritkatriel | set | versions: + Python 3.8, Python 3.9, Python 3.10, - Python 2.6, Python 3.4 |
| 2019-03-15 22:24:57 | BreamoreBoy | set | nosy:
- BreamoreBoy |
| 2015-03-19 23:10:31 | martin.panter | set | versions:
+ Python 3.4 nosy: + martin.panter messages: + msg238579 components: + Extension Modules |
| 2014-07-15 17:18:02 | BreamoreBoy | set | nosy:
+ BreamoreBoy messages: + msg223123 |
| 2013-01-01 14:56:29 | Yuval.Weinbaum | create | |
