[Python-Dev] RE: POSIX thread code and Cygwin (original) (raw)

Jason Tishler jason@tishler.net
Sat, 23 Mar 2002 11:08:23 -0500


--Boundary_(ID_j4yM6P+PRN7238IAK+OX5w) Content-type: text/plain; charset=us-ascii Content-transfer-encoding: 7BIT Content-disposition: inline

Jerry,

On Fri, Mar 22, 2002 at 04:16:30PM -0500, Tim Peters wrote:

[Gerald S. Williams] > I submitted another patch to the POSIX threads code. > It is under SourceForge as patch number 533681. > > [snip]

After I saw your patch, I got started thinking...

I don't understand. If Cygwin requires rtems in order that POSIXSEMAPHORES be defined, then either Cygwin has a bug here, or Cygwin needs rtems if you want to use real-time gimmicks like semaphores. In either case, I don't think it's Python's place to second-guess the Cygwin team: report it as a bug to Cygwin, or do whatever they recommend to get rtems defined in the Cygwin build.

I agree with Tim (and Martin) that this is a Cygwin (i.e., newlib) issue and should not be "fixed" or worked around in Python. Would you be willing to submit the attached (untested) patch to newlib after giving it a spin?

I think that Rob Collins forgot to add this missing #define when he implemented Cygwin semaphore support. If you wish, I can post to cygwin-developers to verify.

Thanks, Jason

--Boundary_(ID_j4yM6P+PRN7238IAK+OX5w) Content-type: text/plain; charset=us-ascii; NAME=features.h.diff Content-transfer-encoding: 7BIT Content-disposition: attachment; filename=features.h.diff

Index: features.h

RCS file: /cvs/src/src/newlib/libc/include/sys/features.h,v retrieving revision 1.3 diff -c -C10 -r1.3 features.h *** features.h 2001/04/12 00:05:57 1.3 --- features.h 2002/03/23 15:53:32


*** 79,94 **** --- 79,95 ----

#ifdef CYGWIN

define _POSIX_JOB_CONTROL 1

define _POSIX_SAVED_IDS 0

define _POSIX_VERSION 199009L

define _POSIX_THREADS 1

define _POSIX_THREAD_PROCESS_SHARED 1

define _POSIX_THREAD_SAFE_FUNCTIONS 1

define _POSIX_THREAD_PRIORITY_SCHEDULING 1

define _POSIX_THREAD_ATTR_STACKSIZE 1

--Boundary_(ID_j4yM6P+PRN7238IAK+OX5w)--