To: J3 09-213r1 From: Jim Xia Subject: STAT_STOPPED_IMAGE and C's exit() Date: 2009 May 5 References: 09-007r1 The current standard requires SYNC ALL and SYNC IMAGES statements with the STAT= specifier to return with a status of STAT_STOPPED_IMAGE if another image has initiated a normal termination. This seems reasonable except it includes the normal terminations initiated by a C's exit() function. A Fortran implementation on SYNC ALL and SYNC IMAGES in general can not understand the termination from a C's exit function call. Therefore the exit() function from C should be excluded from the list of normal terminations that is listed in 8.5.7. EDITS: [196:5] 8.5.7 STAT= and ERRMSG= specifiers in image control statements, change "an image that has initiated termination" to "an image that has initiated a termination other than by executing the C exit() function". [196:8] 8.5.7 STAT= and ERRMSG= specifiers in image control statements, after the first sentence of para 2 add "Whether this is also the effect when termination is initiated by executing the C exit() function is processor dependent." [196:10+] 8.5.7 STAT= and ERRMSG= specifiers in image control statements, after para 2, add "NOTE 8.43+ It is desirable that implementations do not distinguish between normal terminations that do or do not arise from executing the C exit() function." [464:21+] A.2 Processor Dependencies, add extra bullet point "o the effect of executing a SYNC ALL or SYNC IMAGES statement with a STAT= specifier if it involves synchronization with an image that has executed the C exit() function (8.5.7)."