Travis Desell wrote on 06/05/2012 20:33: > Is there any thing that would cause the BOINC client to repeatedly restart > jobs that error out? > > We had a bunch of workunits error out in this if condition (for the whole > program see > https://github.com/travisdesell/Subset-Sum/blob/master/client/subset_sum_main.cpp > ): > > if (max_set_value< subset_size) { > fprintf(stderr, "Error max_set_value< subset_size. > Quitting.\n"); > exit(0); > } > > And the BOINC client kept restarting the workunits (in what seemed like an > infinite loop). Are we doing something wrong here, and is there any fix for > this?
To exit an application you should call boinc_finish() instead of exit(). You should also use a positive non-zero exit status for error conditions. As things stand the BOINC API will restart the application after generating the stderr message Task <name> exited with zero status but no 'finished' file This will continue happening until you get 100 consecutive failures without making a checkpoint. -- Ian _______________________________________________ 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.
