Changeset 181220 in webkit
- Timestamp:
- Mar 7, 2015 8:57:54 PM (9 years ago)
- Location:
- trunk/Source/WTF
- Files:
-
- 3 added
- 4 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/Source/WTF/ChangeLog
r181180 r181220 1 2015-03-07 Brent Fulgham <bfulgham@apple.com> 2 3 [Win] Revive WTF::WorkQueue on Windows 4 https://bugs.webkit.org/show_bug.cgi?id=142432 5 6 Reviewed by Darin Adler. 7 8 Revive the Windows implementation of WTF::WorkQueue. 9 10 * WTF.vcxproj/WTF.vcxproj: 11 * WTF.vcxproj/WTF.vcxproj.filters: 12 * wtf/WorkQueue.h: 13 * wtf/win/WorkItemWin.cpp: Added. 14 * wtf/win/WorkItemWin.h: Added. 15 * wtf/win/WorkQueueWin.cpp: Added. 16 1 17 2015-03-06 Geoffrey Garen <ggaren@apple.com> 2 18 -
trunk/Source/WTF/WTF.vcxproj/WTF.vcxproj
r180968 r181220 150 150 <ClCompile Include="..\wtf\win\MainThreadWin.cpp" /> 151 151 <ClCompile Include="..\wtf\win\RunLoopWin.cpp" /> 152 <ClCompile Include="..\wtf\win\WorkItemWin.cpp" /> 153 <ClCompile Include="..\wtf\win\WorkQueueWin.cpp" /> 152 154 <ClCompile Include="..\wtf\win\WTFDLL.cpp" /> 155 <ClCompile Include="..\wtf\WorkQueue.cpp" /> 153 156 <ClCompile Include="..\wtf\WTFThreadData.cpp" /> 154 157 <ClCompile Include="..\wtf\SchedulePairCF.cpp" /> … … 307 310 <ClInclude Include="..\wtf\VMTags.h" /> 308 311 <ClInclude Include="..\wtf\win\GDIObject.h" /> 312 <ClInclude Include="..\wtf\win\WorkItemWin.h" /> 313 <ClInclude Include="..\wtf\WorkQueue.h" /> 309 314 <ClInclude Include="..\wtf\WTFThreadData.h" /> 310 315 </ItemGroup> -
trunk/Source/WTF/WTF.vcxproj/WTF.vcxproj.filters
r180968 r181220 2 2 <Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> 3 3 <ItemGroup> 4 <Filter Include="win">5 <UniqueIdentifier>{b7d787cb-2b2b-4898-8d03-b94115e596d1}</UniqueIdentifier>6 </Filter>7 4 <Filter Include="dtoa"> 8 5 <UniqueIdentifier>{eaa36939-1976-495f-b9ed-90074ee4f2be}</UniqueIdentifier> … … 28 25 <Filter Include="wtf\gobject"> 29 26 <UniqueIdentifier>{edd6ccc8-e6ee-41ec-a58d-9404a30c0c7e}</UniqueIdentifier> 27 </Filter> 28 <Filter Include="wtf\win"> 29 <UniqueIdentifier>{b7d787cb-2b2b-4898-8d03-b94115e596d1}</UniqueIdentifier> 30 30 </Filter> 31 31 </ItemGroup> … … 95 95 </ClCompile> 96 96 <ClCompile Include="..\wtf\win\MainThreadWin.cpp"> 97 <Filter>w in</Filter>97 <Filter>wtf\win</Filter> 98 98 </ClCompile> 99 99 <ClCompile Include="..\wtf\threads\win\BinarySemaphoreWin.cpp"> … … 236 236 </ClCompile> 237 237 <ClCompile Include="..\wtf\win\RunLoopWin.cpp"> 238 <Filter>w in</Filter>238 <Filter>wtf\win</Filter> 239 239 </ClCompile> 240 240 <ClCompile Include="..\wtf\gobject\GMainLoopSource.cpp"> … … 249 249 <ClCompile Include="..\wtf\RefCounter.cpp" /> 250 250 <ClCompile Include="..\wtf\win\WTFDLL.cpp"> 251 <Filter>win</Filter> 251 <Filter>wtf\win</Filter> 252 </ClCompile> 253 <ClCompile Include="..\wtf\WorkQueue.cpp"> 254 <Filter>wtf</Filter> 255 </ClCompile> 256 <ClCompile Include="..\wtf\win\WorkQueueWin.cpp"> 257 <Filter>wtf\win</Filter> 258 </ClCompile> 259 <ClCompile Include="..\wtf\win\WorkItemWin.cpp"> 260 <Filter>wtf\win</Filter> 252 261 </ClCompile> 253 262 </ItemGroup> … … 672 681 </ClInclude> 673 682 <ClInclude Include="..\wtf\win\GDIObject.h"> 674 <Filter>w in</Filter>683 <Filter>wtf\win</Filter> 675 684 </ClInclude> 676 685 <ClInclude Include="..\wtf\gobject\GlibUtilities.h"> … … 708 717 </ClInclude> 709 718 <ClInclude Include="..\wtf\RefCounter.h" /> 719 <ClInclude Include="..\wtf\WorkQueue.h"> 720 <Filter>wtf</Filter> 721 </ClInclude> 722 <ClInclude Include="..\wtf\win\WorkItemWin.h"> 723 <Filter>wtf\win</Filter> 724 </ClInclude> 710 725 </ItemGroup> 711 726 <ItemGroup> -
trunk/Source/WTF/wtf/WorkQueue.h
r180410 r181220 1 1 /* 2 * Copyright (C) 2010 Apple Inc. All rights reserved.2 * Copyright (C) 2010, 2015 Apple Inc. All rights reserved. 3 3 * Portions Copyright (c) 2010 Motorola Mobility, Inc. All rights reserved. 4 4 * … … 45 45 #elif PLATFORM(EFL) 46 46 #include <DispatchQueueEfl.h> 47 #elif OS(WINDOWS) 48 #include <wtf/HashMap.h> 49 #include <wtf/Vector.h> 50 #include <wtf/win/WorkItemWin.h> 47 51 #endif 48 52 … … 85 89 void platformInvalidate(); 86 90 91 #if OS(WINDOWS) 92 static void CALLBACK handleCallback(void* context, BOOLEAN timerOrWaitFired); 93 static void CALLBACK timerCallback(void* context, BOOLEAN timerOrWaitFired); 94 static DWORD WINAPI workThreadCallback(void* context); 95 96 bool tryRegisterAsWorkThread(); 97 void unregisterAsWorkThread(); 98 void performWorkOnRegisteredWorkThread(); 99 100 static void unregisterWaitAndDestroyItemSoon(PassRefPtr<HandleWorkItem>); 101 static DWORD WINAPI unregisterWaitAndDestroyItemCallback(void* context); 102 #endif 103 87 104 #if OS(DARWIN) 88 105 static void executeFunction(void*); … … 96 113 #elif PLATFORM(EFL) 97 114 RefPtr<DispatchQueue> m_dispatchQueue; 115 #elif OS(WINDOWS) 116 volatile LONG m_isWorkThreadRegistered; 117 118 Mutex m_workItemQueueLock; 119 Vector<RefPtr<WorkItemWin>> m_workItemQueue; 120 121 Mutex m_handlesLock; 122 HashMap<HANDLE, RefPtr<HandleWorkItem>> m_handles; 123 124 HANDLE m_timerQueue; 98 125 #endif 99 126 };
Note: See TracChangeset
for help on using the changeset viewer.