Bernd Machenschalk wrote, On 06.08.14 22:08:

- build an application version bundle that contains both application versions and a small wrapper program
- the wrapper gets started by the BOINC Client
- on start, the wrapper tries to create and lock a file in the project(!) directory + if acquiring the lock fails, it means that there is already a graphical version running, so start the faster, non-graphical version + if acquiring the lock succeeds, start the graphical version and remove the lock & file after the graphical program terminated

Implementation note: the "app versions" and the wrapper don't need to be three separate programs / executables, but actually different main() functions (main() (wrapper) calling main_graphical() or main_fast()) linked into the same binary. This would relieve us of the necessity to forward signals from the wrapper process to the actual application, which in the above model runs as a separate process. OTOH requiring that different objects (functions, variables) have different names the one-program approach might seriously complicate code, building & linking.

Best,
Bernd

_______________________________________________
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.

Reply via email to