Issue38301
Created on 2019-09-27 21:35 by jcea, last changed 2019-09-28 06:31 by ned.deily. This issue is now closed.
| Pull Requests | |||
|---|---|---|---|
| URL | Status | Linked | Edit |
| PR 16446 | merged | jcea, 2019-09-28 00:53 | |
| PR 16449 | merged | miss-islington, 2019-09-28 01:45 | |
| PR 16450 | merged | miss-islington, 2019-09-28 01:52 | |
| PR 16452 | closed | jcea, 2019-09-28 02:26 | |
| PR 16454 | merged | jcea, 2019-09-28 02:42 | |
| Messages (5) | |||
|---|---|---|---|
| msg353416 - (view) | Author: Jesús Cea Avión (jcea) * | Date: 2019-09-27 21:35 | |
When compiling on Solaris family, we define "_REENTRANT" in "Pyconfig.h". That file is included when compiling C extensions, but if the extension is made of several C files, it could be included only in the file that interfaces with python runtime. Unfortunately, "_REENTRANT" modifies the way C code is compiled, so compiling a C extension with some source files with "_REENTRANT" and some other without that "define" can produce bizarre errors and crashes. One example: https://github.com/joyent/pkgsrc/issues/207 In particular, "include" order can make a big difference: https://github.com/jnwatson/py-lmdb/issues/213 I suggest that when "_REENTRANT" is defined in "Pyconfig.h", Python C extensions compilation machinery adds "-D_REENTRANT" to the compilation flags. The patch is trivial. |
|||
| msg353431 - (view) | Author: Jesús Cea Avión (jcea) * | Date: 2019-09-28 01:44 | |
New changeset 52d1b86bde2b772a76919c76991c326384954bf1 by Jesús Cea in branch 'master': bpo-38301: In Solaris family, we must be sure to use '-D_REENTRANT' (#16446) https://github.com/python/cpython/commit/52d1b86bde2b772a76919c76991c326384954bf1 |
|||
| msg353433 - (view) | Author: Jesús Cea Avión (jcea) * | Date: 2019-09-28 02:20 | |
New changeset 8750bce9884335d43ac06989f64473ed877c5b63 by Jesús Cea (Miss Islington (bot)) in branch '3.8': bpo-38301: In Solaris family, we must be sure to use '-D_REENTRANT' (GH-16446) (#16449) https://github.com/python/cpython/commit/8750bce9884335d43ac06989f64473ed877c5b63 |
|||
| msg353434 - (view) | Author: Jesús Cea Avión (jcea) * | Date: 2019-09-28 02:21 | |
New changeset 6112b91bb827b07ab83e3e720aa055772a2c8b9d by Jesús Cea (Miss Islington (bot)) in branch '3.7': bpo-38301: In Solaris family, we must be sure to use '-D_REENTRANT' (GH-16446) (#16450) https://github.com/python/cpython/commit/6112b91bb827b07ab83e3e720aa055772a2c8b9d |
|||
| msg353438 - (view) | Author: Jesús Cea Avión (jcea) * | Date: 2019-09-28 03:09 | |
New changeset 598f676880662fb453ff98fda42b7b7068e5be32 by Jesús Cea in branch '2.7': [2.7] bpo-38301: In Solaris family, we must be sure to use '-D_REENTRANT' (GH-16446). (#16454) https://github.com/python/cpython/commit/598f676880662fb453ff98fda42b7b7068e5be32 |
|||
| History | |||
|---|---|---|---|
| Date | User | Action | Args |
| 2019-09-28 06:31:34 | ned.deily | set | versions: - Python 3.5, Python 3.6 |
| 2019-09-28 04:39:57 | jcea | set | status: open -> closed resolution: fixed stage: patch review -> resolved |
| 2019-09-28 03:09:27 | jcea | set | messages: + msg353438 |
| 2019-09-28 02:42:47 | jcea | set | pull_requests: + pull_request16034 |
| 2019-09-28 02:26:35 | jcea | set | pull_requests: + pull_request16032 |
| 2019-09-28 02:21:27 | jcea | set | messages: + msg353434 |
| 2019-09-28 02:20:34 | jcea | set | messages: + msg353433 |
| 2019-09-28 01:52:23 | miss-islington | set | pull_requests: + pull_request16030 |
| 2019-09-28 01:45:46 | miss-islington | set | pull_requests: + pull_request16029 |
| 2019-09-28 01:44:35 | jcea | set | messages: + msg353431 |
| 2019-09-28 00:53:23 | jcea | set | keywords:
+ patch stage: patch review pull_requests: + pull_request16025 |
| 2019-09-27 21:36:31 | jcea | set | title: If "_REENTARNT" is defined in the header file, we should use "-D_REENTRANT" when compiling -> If "_REENTRANT" is defined in the header file, we should use "-D_REENTRANT" when compiling |
| 2019-09-27 21:35:16 | jcea | create | |