Subj : Re: Non-strictly-conforming and unspecified versus undefined behavior To : comp.programming.threads,comp.std.c From : Douglas A. Gwyn Date : Fri Feb 18 2005 08:48 pm David Schwartz wrote: > The standard does not say that output cannot depend upon > implementation-defined behavior. If it did, then no useful POSIX strictly > conforming program could be written. The C standard certainly says that about a s.c. program. I don't think POSIX uses the term "strictly conforming". POSIX conformance is different from strict conformance to the C standard. Indeed, a strictly conforming C program *cannot* use any POSIX extensions. However, not all programs need be s.c. There is also the useful category of a (plain) "conforming" program, which is accepted by some conforming C implementation, perhaps one that also supports POSIX extensions. > So then it *is* your position that virtually no useful POSIX > multithreaded program is strictly conforming, since they will almost always > have behavior that depends upon mutex acquisition order. No program that uses *any* POSIX-specific feature can be "strictly conforming" as the term is used by the C standard. I don't recall POSIX requiring invariance of output for programs to conform to *its* standards. .