[Bug 19982] SetThreadAffinityMask() seems not to work correctly

wine-bugs at winehq.org wine-bugs at winehq.org
Wed Sep 30 15:26:22 CDT 2009


http://bugs.winehq.org/show_bug.cgi?id=19982





--- Comment #24 from ray at pobox.co.uk  2009-09-30 15:26:22 ---
(In reply to comment #22)
> (In reply to comment #19)
> > I have applied these pataches and my ART test program shows a logic error.  If
> > the Process Affinity is 0x01 setting a Thread afffinity of 0x02 does not fail
> > and it should do.
> I sent a patch for this issue:
> http://www.winehq.org/pipermail/wine-patches/2009-September/079205.html

I have just looked at this patch and reading the code it looks incorrect to me.

 void set_thread_affinity( struct thread *thread, affinity_t affinity )
 {
+    if (!(affinity & thread->process->affinity))
+    {
+        set_error( STATUS_INVALID_PARAMETER );
+        return;
+    }

If the process affinity is 0x05 and I try and set a thread affinity of 0x03
this should fail and this will not be the case with the above code.

-- 
Configure bugmail: http://bugs.winehq.org/userprefs.cgi?tab=email
Do not reply to this email, post in Bugzilla using the
above URL to reply.
------- You are receiving this mail because: -------
You are watching all bug changes.



More information about the wine-bugs mailing list