<div><br></div><div><br></div><div class="gmail_quote">2009/4/25 jasonmh <span dir="ltr"><<a href="mailto:wineforum-user@winehq.org">wineforum-user@winehq.org</a>></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'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's attached, but I can'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( &tls_links, &teb->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->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>+ &tstruct, 0, &tstruct.tid );<br>+ ok(thread!=NULL,"Create Thread failed\n");<br>
+ if(thread) {<br>+ ok(!tstruct.flag,"Thread ran before creator did\n");<br>+ ok(CloseHandle(thread)!=0,"CloseHandle failed\n");<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>