classification
Title: Enforce PEP 11 - remove support for legacy systems
Type: enhancement Stage: resolved
Components: Build, Interpreter Core Versions: Python 3.3
process
Status: closed Resolution: fixed
Dependencies: Superseder:
Assigned To: Nosy List: brett.cannon, eric.araujo, haypo, jcea, pitrou, python-dev
Priority: normal Keywords: easy, patch

Created on 2011-04-18 00:08 by pitrou, last changed 2011-07-08 21:55 by pitrou. This issue is now closed.

Files
File name Uploaded Description Edit
remove_threads.patch haypo, 2011-04-19 14:20 review
Messages (9)
msg133944 - (view) Author: Antoine Pitrou (pitrou) * (Python committer) Date: 2011-04-18 00:08
PEP 11 calls for removing support for the following systems in 3.3:

    Name:             Systems using Mach C Threads
    Unsupported in:   Python 3.2
    Code removed in:  Python 3.3

    Name:             SunOS lightweight processes (LWP)
    Unsupported in:   Python 3.2
    Code removed in:  Python 3.3

    Name:             Systems using --with-pth (GNU pth threads)
    Unsupported in:   Python 3.2
    Code removed in:  Python 3.3

    Name:             Systems using Irix threads
    Unsupported in:   Python 3.2
    Code removed in:  Python 3.3

    Name:             OSF* systems (issue 8606)
    Unsupported in:   Python 3.2 
    Code removed in:  Python 3.3
msg133947 - (view) Author: Jesús Cea Avión (jcea) * (Python committer) Date: 2011-04-18 01:03
I think I toke care of OSF cleanup already.
msg134051 - (view) Author: STINNER Victor (haypo) * (Python committer) Date: 2011-04-19 13:13
Issue #11876 has been marked as a duplicate of this issue.
msg134058 - (view) Author: STINNER Victor (haypo) * (Python committer) Date: 2011-04-19 14:20
Patch removing cpthread, pth, lwp and solaris thread implementations. The patch on configure.in, around the following diff, is invalid:
----
     AC_DEFINE(_REENTRANT)
-    AC_CHECK_HEADER(cthreads.h, [AC_DEFINE(WITH_THREAD)
-    AC_DEFINE(C_THREADS)
-    AC_DEFINE(HURD_C_THREADS, 1,
-    [Define if you are using Mach cthreads directly under /include])
-    LIBS="$LIBS -lthreads"
-    THREADOBJ="Python/thread.o"],[
-    AC_CHECK_HEADER(mach/cthreads.h, [AC_DEFINE(WITH_THREAD)
-    AC_DEFINE(C_THREADS)
-    AC_DEFINE(MACH_C_THREADS, 1,
-    [Define if you are using Mach cthreads under mach /])
-    THREADOBJ="Python/thread.o"],[
     # Just looking for pthread_create in libpthread is not enough:
     # on HP/UX, pthread.h renames pthread_create to a different symbol name.
     # So we really have to include pthread.h, and then link.
----

autoconf will have to be run to update configure.

I am not sure that the patch removes all code related to these threads.
msg134060 - (view) Author: STINNER Victor (haypo) * (Python committer) Date: 2011-04-19 14:24
FYI Hurd only supports cthread, without cthread support, Python will not support threads on Hurd anymore.

There are two Hurd issues to move from cthread to pthread
http://savannah.gnu.org/task/?5487 (opened 5 years ago)
http://savannah.gnu.org/task/?7895 (opened 3 years ago)
msg134101 - (view) Author: STINNER Victor (haypo) * (Python committer) Date: 2011-04-19 21:04
Python/thread.c contains a reference to a missing file:

#ifdef PLAN9_THREADS
#include "thread_plan9.h"
#endif

But I don't see where PLAN9_THREADS is defined.

remove_threads.patch removes these 3 lines.

--

There is also an unused file: Python/thread_wince.c. Can it be removed?
msg134103 - (view) Author: Antoine Pitrou (pitrou) * (Python committer) Date: 2011-04-19 21:13
> Python/thread.c contains a reference to a missing file:
> 
> #ifdef PLAN9_THREADS
> #include "thread_plan9.h"
> #endif
> 
> But I don't see where PLAN9_THREADS is defined.
> 
> remove_threads.patch removes these 3 lines.
> 
> --
> 
> There is also an unused file: Python/thread_wince.c. Can it be removed?

+1 to both.
msg140040 - (view) Author: Roundup Robot (python-dev) Date: 2011-07-08 21:38
New changeset 638039a4fef3 by Antoine Pitrou in branch 'default':
Issue #11863: remove unused file Python/thread_wince.h
http://hg.python.org/cpython/rev/638039a4fef3
msg140042 - (view) Author: Roundup Robot (python-dev) Date: 2011-07-08 21:52
New changeset 0aa3f90f0830 by Antoine Pitrou in branch 'default':
Issue #11863: Remove support for legacy systems deprecated in Python 3.2
http://hg.python.org/cpython/rev/0aa3f90f0830
History
Date User Action Args
2011-07-08 21:55:35pitrousetstatus: open -> closed
resolution: fixed
stage: needs patch -> resolved
2011-07-08 21:52:46python-devsetmessages: + msg140042
2011-07-08 21:38:36python-devsetnosy: + python-dev
messages: + msg140040
2011-04-19 21:13:55pitrousetmessages: + msg134103
2011-04-19 21:04:13hayposetmessages: + msg134101
2011-04-19 15:33:53eric.araujosetnosy: + eric.araujo
2011-04-19 14:24:18hayposetmessages: + msg134060
2011-04-19 14:20:19hayposetfiles: + remove_threads.patch
keywords: + patch
messages: + msg134058
2011-04-19 13:13:34hayposetnosy: + haypo
messages: + msg134051
2011-04-18 21:25:00brett.cannonsetnosy: + brett.cannon
2011-04-18 01:03:46jceasetnosy: + jcea
messages: + msg133947
2011-04-18 00:08:57pitroucreate