diff --git a/api/boinc_api.C b/api/boinc_api.C index 2c8e19366c..1011991400 100644 --- a/api/boinc_api.C +++ b/api/boinc_api.C @@ -235,6 +235,9 @@ int boinc_finish(int status) { boinc_write_init_data_file(); } +#ifdef _WIN32 + exit(status); +#else // on Linux < 2.6, probably due to non-POSIX LinuxThreads, _Exit() fails to // shut down the graphics-thread properly, while exit() does the job and does _NOT_ // seem to get tangled in exit-atexit loops... @@ -246,6 +249,7 @@ int boinc_finish(int status) { // This is not pretty but unless someone finds a cleaner solution, we handle the two cases // separately based on these observations _Exit(status); +#endif #endif fprintf(stderr, "..exit() or _Exit() returned... this is totally weird!!\n"); diff --git a/checkin_notes b/checkin_notes index dda4ae7ed3..ef4d856623 100755 --- a/checkin_notes +++ b/checkin_notes @@ -22305,3 +22305,9 @@ David 7 Jan 2005 backend_lib.C dir_hier_move.C dir_hier_path.C + +David 7 Jan 2005 + - Win compile fix + + api/ + boinc_api.C