If an app_version has a platform not supported by the client (ie. not the primary platform nor any of the alternate platforms), the client will set the app version's platform to the client's primary platform. This was introduced in r12893. The rationale is that someone may install the Windows 64-bit client, get work, and then revert to the 32-bit client; and without this code, the 32-bit client would abort the 64-bit work downloaded previously, which may include month-long CPDN tasks.
However, since r16559, 32-bit Windows clients running on 64-bit Windows set windows_x86_64 as primary platform. If the user reverts to a 32-bit client, the 64-bit platform would still be marked as supported, so the above situation would never happen. So... mostly out of curiosity: am I missing something, or is the code in r12893 now unnecessary? If a user moves his BOINC state to a computer with a different platform, or installs 32-bit Windows on a machine that had 64-bit Windows before, keeping the 32-bit BOINC client (all unlikely situations I'll admit), those workunits would be trashed anyway (because the science app won't start). But probably it would be clearer if the client aborts the tasks and shows "App version has unsupported platform" in the messages, than the strange app-startup errors it would give if OS can't tell what end is up on the science app binary. -- Nicolas _______________________________________________ boinc_dev mailing list [email protected] http://lists.ssl.berkeley.edu/mailman/listinfo/boinc_dev To unsubscribe, visit the above URL and (near bottom of page) enter your email address.
