Bug 143756

Summary: [W32] Inconsistent ifdefs in BinarySemaphore.h and BinarySemaphore.cpp
Product: WebKit Reporter: LRN <lrn1986>
Component: New BugsAssignee: Nobody <webkit-unassigned>
Status: RESOLVED FIXED    
Severity: Normal CC: benjamin, cgarcia, cmarcelo, commit-queue, lrn1986
Priority: P2    
Version: 528+ (Nightly build)   
Hardware: Unspecified   
OS: Unspecified   
Bug Depends on:    
Bug Blocks: 133028    
Attachments:
Description Flags
Harmonize binary semaphore ifdefs none

Description LRN 2015-04-15 06:17:05 PDT
One has OS(WINDOWS), the other has PLATFORM(WIN). As a result, MinGW gets one half of the code (the OS(WINDOWS) one), but not the other.
Comment 1 LRN 2015-04-15 09:44:50 PDT
Created attachment 250799 [details]
Harmonize binary semaphore ifdefs

They should be either OS(WINDOWS) (in which case we'd need
BinarySemaphoreWin.cpp, which is not shipped by WebKitGTK)
or PLATFORM(WIN) (in which case Mutex/ThreadCondition-based
implementation is used).

This fixes errors like:
  CXX      Source/WTF/wtf/threads/libWTF_la-BinarySemaphore.lo
../webkitgtk-2.4.8/Source/WTF/wtf/threads/BinarySemaphore.cpp: In constructor 'WTF::BinarySemaphore::BinarySemaphore()':
../webkitgtk-2.4.8/Source/WTF/wtf/threads/BinarySemaphore.cpp:34:7: error: class 'WTF::BinarySemaphore' does not have any field named 'm_isSet'
     : m_isSet(false)
       ^
../webkitgtk-2.4.8/Source/WTF/wtf/threads/BinarySemaphore.cpp: In member function 'void WTF::BinarySemaphore::signal()':
../webkitgtk-2.4.8/Source/WTF/wtf/threads/BinarySemaphore.cpp:44:24: error: 'm_mutex' was not declared in this scope
     MutexLocker locker(m_mutex);
                        ^
../webkitgtk-2.4.8/Source/WTF/wtf/threads/BinarySemaphore.cpp:46:5: error: 'm_isSet' was not declared in this scope
     m_isSet = true;
     ^
../webkitgtk-2.4.8/Source/WTF/wtf/threads/BinarySemaphore.cpp:47:5: error: 'm_condition' was not declared in this scope
     m_condition.signal();
     ^
../webkitgtk-2.4.8/Source/WTF/wtf/threads/BinarySemaphore.cpp: In member function 'bool WTF::BinarySemaphore::wait(double)':
../webkitgtk-2.4.8/Source/WTF/wtf/threads/BinarySemaphore.cpp:52:24: error: 'm_mutex' was not declared in this scope
     MutexLocker locker(m_mutex);
                        ^
../webkitgtk-2.4.8/Source/WTF/wtf/threads/BinarySemaphore.cpp:55:13: error: 'm_isSet' was not declared in this scope
     while (!m_isSet) {
             ^
../webkitgtk-2.4.8/Source/WTF/wtf/threads/BinarySemaphore.cpp:56:21: error: 'm_condition' was not declared in this scope
         timedOut = !m_condition.timedWait(m_mutex, absoluteTime);
                     ^
../webkitgtk-2.4.8/Source/WTF/wtf/threads/BinarySemaphore.cpp:62:5: error: 'm_isSet' was not declared in this scope
     m_isSet = false;
     ^
GNUmakefile:52762: recipe for target 'Source/WTF/wtf/threads/libWTF_la-BinarySemaphore.lo' failed
Comment 2 WebKit Commit Bot 2015-04-15 11:23:45 PDT
Comment on attachment 250799 [details]
Harmonize binary semaphore ifdefs

Clearing flags on attachment: 250799

Committed r182848: <http://trac.webkit.org/changeset/182848>
Comment 3 WebKit Commit Bot 2015-04-15 11:23:50 PDT
All reviewed patches have been landed.  Closing bug.