- void (*CleanUp)(void); // Pointer to Cleanup Function\r
- int i;\r
-\r
- if(gMD != NULL) {\r
- CleanUp = gMD->cleanup; // Preserve the pointer to the Cleanup Function\r
-\r
- // Call all registered atexit functions in reverse order\r
- i = gMD->num_atexit;\r
- if( i > 0) {\r
- do {\r
- (gMD->atexit_handler[--i])();\r
- } while( i > 0);\r
- }\r
-\r
- if (CleanUp != NULL) {\r
- CleanUp();\r
- }\r
- }\r