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.