[Patches] [ python-Patches-453627 ] UnixWare 7.x port for Python 2.2

noreply@sourceforge.net noreply@sourceforge.net
Wed, 05 Sep 2001 08:49:36 -0700


Patches item #453627, was opened at 2001-08-20 22:42
You can respond by visiting: 
http://sourceforge.net/tracker/?func=detail&atid=305470&aid=453627&group_id=5470

Category: core (C code)
Group: None
Status: Open
Resolution: None
Priority: 5
Submitted By: Billy G. Allie (ballie01)
Assigned to: Martin v. Löwis (loewis)
Summary: UnixWare 7.x port for Python 2.2

Initial Comment:
The attached set of patches provide work-a-rounds for
two
know UnixWare 7.x bugs and fixes other problems related
to
the UnixWare 7.x port of Python.  The patch file names
and a
description of the patches are:

1.  uw7_pyconfig.patch
    This patch changes pyconfig.h.in to define the
following
    macros when compiling on a UnixWare 7.x system:
    SCO_ATAN2_BUG, SCO_ACCEPT_BUG, and
STRICT_SYSV_CURSES.

2.  uw7_math.patch
    This patch adds code to Modules/mathmodule.c to
work
    around a bug in the SCO UnixWare atan2()
implementation.
    This code is only compiled if the  macro,
SCO_ATAN2_BUG,
    is defined.

3.  uw7_cmath.patch
    This patch adds code to Modules/cmathmodule.c to
work
    around a bug in the SCO UnixWare atan2()
implementation.
    This code is only compiled  if the macro,
SCO_ATAN2_BUG,
    is defined.

4.  uw7_complex.patch
    This patch adds code to Objects/complexobject.c to
work
    around a bug in the SCO UnixWare atan2()
implementation.
    This code is only compiled if the macro,
SCO_ATAN2_BUG,
    is defined.

5.  uw7_socket.patch
    This patch adds code to Modules/socketmodule.c to
work
    around a bug in the SCO UnixWare 7.X accept()
imple-
    mentation.  This code is only compiled if the
macro,
    SCO_ACCEPT_BUG, is defined.  The patch also changed
the
    code so that the accept call is restarted if it was
    interrupted.

6.  uw7_regrtest.patch
    This patch adds a list of tests that are expected
to be
    skipped for UnixWare 7.x systems.


----------------------------------------------------------------------

>Comment By: Billy G. Allie (ballie01)
Date: 2001-09-05 08:49

Message:
Logged In: YES 
user_id=8500

Any blocking I/O call is subject to being interruped by a 
signal.  In particular, on Unixware when running threads, 
the first call to accept immediately returns because of an 
interrupted call.  Therefore the loop to retry the 
interrupted call.

On a side note, (IMHO) the code that calls an I/O operation 
that can block should check for an error code of EINTR and 
retry the operation if it was interrupted instead of 
returning an exception because of the interruption.

That is, of course, my own opinion.

BTW: is anyone looking at the distutils and setup.py 
changes I submitted [Patch # 454041] ?

----------------------------------------------------------------------

Comment By: Martin v. Löwis (loewis)
Date: 2001-09-05 07:55

Message:
Logged In: YES 
user_id=21627

Thanks for your patches. I've applied all of them except for
uw7_socket_2.patch. Why do you add an again loop around the
accept(2) call?

----------------------------------------------------------------------

Comment By: Martin v. Löwis (loewis)
Date: 2001-09-05 07:46

Message:
Logged In: YES 
user_id=21627

Accepted uw7_cmath.patch, uw7_complex.patch, uw7_math.patch,
uw7_pyconfig.patch as cmathmodule.c 2.25, mathmodule.c 2.64,
complexobject.c 2.43, and pyconfig.h.in 1.6.

----------------------------------------------------------------------

Comment By: Martin v. Löwis (loewis)
Date: 2001-09-05 07:39

Message:
Logged In: YES 
user_id=21627

Accepted uw7_regrtest.patch  as regrtest.py 1.46.

----------------------------------------------------------------------

Comment By: Billy G. Allie (ballie01)
Date: 2001-08-21 15:51

Message:
Logged In: YES 
user_id=8500

I have uploaded an updated patch for Modules/socketmodule.py
named uw7_socket_2.patch.  Please use this instead of
uw7_socket..patch.  The original patch backed out 2 changes
made to socketmodule.c since I got my copy from the CVS.

----------------------------------------------------------------------

You can respond by visiting: 
http://sourceforge.net/tracker/?func=detail&atid=305470&aid=453627&group_id=5470