|
Boost : |
From: Joaquín Mª López Muñoz (joaquin_at_[hidden])
Date: 2007-09-07 09:41:09
Peter Dimov ha escrito:
> Joaquín Mª López Muñoz:
>
> > boost/detail/flyweight_mutex.hpp implements a mutex class based on a
> > Win32 CRITICAL_SECTION or using Pthreads according to the
> > following pp logic:
> >
> > #if defined(WIN32) || defined(_WIN32) || defined(__WIN32__)
> > // based on CRITICAL_SECTION
> > #elif defined(BOOST_HAS_PTHREADS)
> > // based on Pthreads
> >
> > The problem with this is that WIN32 and related macros are not predefined
> > in some environments (Cygwin at least) but rather they are defined inside
> > windows.h, thus making the logic above dependent on the inclusion context.
>
> Would it help if we reverse the two tests?
AFAICS, yes. The complementary problem (selecting Pthreads in Win32 when
<pthread.h> has been included) seems not to happen when the logic
is reversed, at least with pthreads-win32, but further confirmation on this issue
would be great.
Joaquín M López Muñoz
Telefónica, Investigación y Desarrollo
Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk