X-Recipient: archive-cygwin AT delorie DOT com X-SWARE-Spam-Status: No, hits=-2.4 required=5.0 tests=AWL,BAYES_00,SPF_PASS X-Spam-Check-By: sourceware.org Message-ID: <49F82327.4090400@gmail.com> Date: Wed, 29 Apr 2009 10:51:35 +0100 From: Dave Korn User-Agent: Thunderbird 2.0.0.17 (Windows/20080914) MIME-Version: 1.0 To: cygwin AT cygwin DOT com Subject: Re: GCC 4.4.0 - Can't activate threading support References: <23292063 DOT post AT talk DOT nabble DOT com> <49F817C2 DOT 2000908 AT gmail DOT com> <23293465 DOT post AT talk DOT nabble DOT com> <49F81E85 DOT 3080802 AT gmail DOT com> In-Reply-To: <49F81E85.3080802@gmail.com> Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 7bit Mailing-List: contact cygwin-help AT cygwin DOT com; run by ezmlm List-Id: List-Subscribe: List-Archive: List-Post: List-Help: , Sender: cygwin-owner AT cygwin DOT com Mail-Followup-To: cygwin AT cygwin DOT com Delivered-To: mailing list cygwin AT cygwin DOT com Dave Korn wrote: > Casull wrote: >> The GCC 4.4 implementation of std::thread is guarded by the >> following preprocessing directive: >> >> #if defined(_GLIBCXX_HAS_GTHREADS) && >> defined(_GLIBCXX_USE_C99_STDINT_TR1) >> >> When looking at the bits/c++config.h, _GLIBCXX_USE_C99_STDINT_TR1 is defined >> but _GLIBCXX_HAS_GTHREADS isn't. > > Ah. There is an autoconf test in libstdc++-v3 that defines that, and the > comment says: > >> dnl Check if gthread implementation defines the types and functions >> dnl required by the c++0x thread library. Conforming gthread >> dnl implementations can define __GTHREADS_CXX0X to enable use with c++0x. It fails because : // In case of POSIX threads check _POSIX_TIMEOUTS too. #if (defined(_PTHREADS) && (!defined(_POSIX_TIMEOUTS) || _POSIX_TIMEOUTS <= 0)) #error #endif ... we don't have any definition of _POSIX_TIMEOUTS. That's a feature test macro the exact definition of which I haven't found yet, but from libstdc's point of view, it appears to mean that the pthread_mutex_timedlock function is supported. Which indeed Cygwin doesn't currently implement. http://www.opengroup.org/onlinepubs/009695399/functions/pthread_mutex_timedlock.html Looks like it wouldn't be too hard to add, PTC I suppose. cheers, DaveK -- Unsubscribe info: http://cygwin.com/ml/#unsubscribe-simple Problem reports: http://cygwin.com/problems.html Documentation: http://cygwin.com/docs.html FAQ: http://cygwin.com/faq/