<div><br></div><div><br></div><div class="gmail_quote">2009/4/25 jasonmh <span dir="ltr">&lt;<a href="mailto:wineforum-user@winehq.org">wineforum-user@winehq.org</a>&gt;</span><br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;">
Where are the patches mentioned in the bug report comments? The specific one I&#39;m refering to is <a href="http://bugs.winehq.org/show_bug.cgi?id=15323#c12" target="_blank">http://bugs.winehq.org/show_bug.cgi?id=15323#c12</a>. The comment mentions that it&#39;s attached, but I can&#39;t seem to access the attachment.<br>

<br>
<br>
<br>
<br>
<br>
</blockquote></div><br><div>Which one exactly? I can acces the last two without problems:<br></div><div></div><div>First:</div><div>diff --git a/dlls/ntdll/thread.c b/dlls/ntdll/thread.c<br>index 87b9d57..ae40811 100644<br>
--- a/dlls/ntdll/thread.c<br>+++ b/dlls/ntdll/thread.c<br>@@ -480,6 +480,8 @@ static void start_thread( struct startup_info *info )<br>�    InsertHeadList( &amp;tls_links, &amp;teb-&gt;TlsLinks );<br>�    RtlReleasePebLock();<br>
�<br>+    sched_yield();<br>+<br>�    /* NOTE: Windows does not have an exception handler around the call to<br>�     * the thread attach. We do for ease of debugging */<br>�    if (unhandled_exception_filter)<br></div><div>
</div><div>Second:</div><div>diff --git a/dlls/kernel32/tests/thread.c b/dlls/kernel32/tests/thread.c<br>index fa57fd9..2917429 100644<br>--- a/dlls/kernel32/tests/thread.c<br>+++ b/dlls/kernel32/tests/thread.c<br>@@ -1197,6 +1197,35 @@ static void test_TLS(void)<br>
�  cleanup_thread_sync_helpers();<br>�}<br>�<br>+typedef struct {<br>+   DWORD tid;<br>+   BOOL flag;<br>+} timingStruct;<br>+<br>+static DWORD WINAPI threadFuncTiming(LPVOID p)<br>+{<br>+   timingStruct *tstruct = (timingStruct *)p;<br>
+   tstruct-&gt;flag=TRUE;<br>+   return 0;<br>+}<br>+<br>+/* Check basic functionality of CreateThread and Tls* functions */<br>+static VOID test_CreateThread_timing(void)<br>+{<br>+   HANDLE thread;<br>+   DWORD exitCode;<br>
+   timingStruct tstruct;<br>+<br>+   tstruct.flag = FALSE;<br>+   thread = CreateThread( NULL, 0, threadFuncTiming,<br>+                          &amp;tstruct, 0, &amp;tstruct.tid );<br>+   ok(thread!=NULL,&quot;Create Thread failed\n&quot;);<br>
+   if(thread) {<br>+     ok(!tstruct.flag,&quot;Thread ran before creator did\n&quot;);<br>+     ok(CloseHandle(thread)!=0,&quot;CloseHandle failed\n&quot;);<br>+   }<br>+}<br>+<br>�START_TEST(thread)<br>�{<br>�   HINSTANCE lib;<br>
@@ -1241,7 +1270,7 @@ START_TEST(thread)<br>�       }<br>�       return;<br>�   }<br>-<br>+/*<br>�   test_CreateRemoteThread();<br>�   test_CreateThread_basic();<br>�   test_CreateThread_suspended();<br>@@ -1258,4 +1287,6 @@ START_TEST(thread)<br>
�   test_QueueUserWorkItem();<br>�   test_RegisterWaitForSingleObject();<br>�   test_TLS();<br>+*/<br>+   test_CreateThread_timing();<br>�}<br><br></div><div><br></div>