This issue tracker has been migrated to GitHub ,
and is currently read-only.
For more information,
see the GitHub FAQs in the Python's Developer Guide.
Created on 2020年09月01日 13:55 by kulikjak, last changed 2022年04月11日 14:59 by admin. This issue is now closed.
| Pull Requests | |||
|---|---|---|---|
| URL | Status | Linked | Edit |
| PR 22040 | merged | kulikjak, 2020年09月01日 14:02 | |
| PR 22128 | merged | kulikjak, 2020年09月07日 08:25 | |
| PR 22273 | merged | lukasz.langa, 2020年09月16日 11:09 | |
| PR 22274 | merged | miss-islington, 2020年09月16日 11:53 | |
| Messages (6) | |||
|---|---|---|---|
| msg376191 - (view) | Author: Jakub Kulik (kulikjak) * | Date: 2020年09月01日 13:55 | |
Hi, Sendfile on Solaris raises EINVAL if offset is equal or bigger than the size of the file. This is different from Linux, where similar sendfile call returns 0, which is used in an ad-hoc fashion to indicate EOF. Since Python sendfile implementation expects 0 to be returned, it breaks. I already reported this in issue 36610, which led to sendfile eventually being disabled on Solaris to be safe before the 3.8 release. We were first looking into a possibility to change Solaris behavior of sendfile to reflect that of Linux but decided not to because of the significant risk that it can break existing programs. The other reason is that sendfile isn't standardized (Linux manpage explicitly states that) and hence Solaris implementation isn't broken, just different. Because of that, we patched the runtime and added #ifdef branch (of which there are already many due to os differences) with additional offset check. It is tested with the current master and also 3.7, which we are using internally. Thanks |
|||
| msg376439 - (view) | Author: Yury Selivanov (yselivanov) * (Python committer) | Date: 2020年09月05日 19:10 | |
New changeset 8c0be6fd9101746235b63ddfb84106d1e9ca286b by Jakub Kulík in branch 'master': bpo-41687: Fix sendfile implementation to work with Solaris (#22040) https://github.com/python/cpython/commit/8c0be6fd9101746235b63ddfb84106d1e9ca286b |
|||
| msg376475 - (view) | Author: Jakub Kulik (kulikjak) * | Date: 2020年09月07日 08:31 | |
I just realized that the recently merged PR has broken error handling, so I opened another one with a followup fix. |
|||
| msg376658 - (view) | Author: miss-islington (miss-islington) | Date: 2020年09月09日 19:30 | |
New changeset fa8c9e70104b0aef966a518eb3a80a4881906ae0 by Jakub Kulík in branch 'master': bpo-41687: Fix error handling in Solaris sendfile implementation (GH-22128) https://github.com/python/cpython/commit/fa8c9e70104b0aef966a518eb3a80a4881906ae0 |
|||
| msg376988 - (view) | Author: Łukasz Langa (lukasz.langa) * (Python committer) | Date: 2020年09月16日 11:52 | |
New changeset 7e356f17e4c91392b6fa45a512efc95923388813 by Łukasz Langa in branch '3.9': [3.9] bpo-41687: Fix sendfile implementation to work with Solaris (GH-22040) (GH-22273) https://github.com/python/cpython/commit/7e356f17e4c91392b6fa45a512efc95923388813 |
|||
| msg376990 - (view) | Author: miss-islington (miss-islington) | Date: 2020年09月16日 12:25 | |
New changeset 6a39888c2c4bcfbcdc61a1953911ad30c62da1ef by Miss Islington (bot) in branch '3.9': bpo-41687: Fix error handling in Solaris sendfile implementation (GH-22128) https://github.com/python/cpython/commit/6a39888c2c4bcfbcdc61a1953911ad30c62da1ef |
|||
| History | |||
|---|---|---|---|
| Date | User | Action | Args |
| 2022年04月11日 14:59:35 | admin | set | github: 85853 |
| 2020年09月16日 12:25:16 | miss-islington | set | messages: + msg376990 |
| 2020年09月16日 11:53:00 | miss-islington | set | pull_requests: + pull_request21329 |
| 2020年09月16日 11:52:52 | lukasz.langa | set | messages: + msg376988 |
| 2020年09月16日 11:09:46 | lukasz.langa | set | nosy:
+ lukasz.langa pull_requests: + pull_request21328 |
| 2020年09月09日 19:30:04 | miss-islington | set | nosy:
+ miss-islington messages: + msg376658 |
| 2020年09月07日 08:31:23 | kulikjak | set | messages: + msg376475 |
| 2020年09月07日 08:25:29 | kulikjak | set | pull_requests: + pull_request21209 |
| 2020年09月05日 19:10:31 | yselivanov | set | status: open -> closed type: behavior resolution: fixed stage: patch review -> resolved |
| 2020年09月05日 19:10:10 | yselivanov | set | nosy:
+ yselivanov messages: + msg376439 |
| 2020年09月04日 23:04:33 | terry.reedy | set | versions: - Python 3.7 |
| 2020年09月01日 14:02:22 | kulikjak | set | keywords:
+ patch stage: patch review pull_requests: + pull_request21137 |
| 2020年09月01日 13:57:04 | BTaskaya | set | nosy:
+ BTaskaya |
| 2020年09月01日 13:55:22 | kulikjak | create | |