http://bugs.winehq.org/show_bug.cgi?id=7768
Summary: server doesn't support processor affinity masks other than 1 Product: Wine Version: CVS Platform: Other OS/Version: other Status: NEW Severity: normal Priority: P2 Component: wine-kernel AssignedTo: wine-bugs@winehq.org ReportedBy: juan_lang@yahoo.com
This is perhaps two bugs rather than one, but they're so closely related I'm entering them as one.
The server (in process.c) always initializes the process affinity (in the get_process_info handler) to 1. On Linux, it's possible to get a process's affinity using sched_getaffinity - the server should initialize a process's affinity using this instead.
The server also prohibits setting a process's affinity to anything but 1 (in the set_process_info handler), failing with STATUS_INVALID_PARAMETER. This seems somewhat arbitrary. First, it could fake accepting the affinity, as long as the affinity mask doesn't contain CPUs which aren't present (see bug 7766). Second, it could set the process's affinity on Linux, using sched_setaffinity.