On Oct 27, 2014, Mark Thompson <mrt@xxxxxxxxx> wrote: > Now suppose we have such an implementation. Consider two distinct > threads copying the same thing which is longer than a cache line "/dev/tty" (the constant string copied in the case at hand) is not longer than a cache line (right? :-), so while your case is compelling, it doesn't apply. > Since strcpy will always write at least one byte, can you really argue > that adding "*dest = 0;" to the beginning of a strcpy function is > always a bad thing? Now, this one is compelling *and* fitting IMHO. Of course we could rule this out in glibc, but should we? Maybe not. So I guess we're better off fixing the implementation of ctermid(NULL) to return a pointer to a constant string that (per POSIX) must not be modified by the caller, rather than needlessly copying it to another buffer. Then, if/when such a strcpy implementation comes up, we'll be ready for it ;-) Thanks, -- Alexandre Oliva, freedom fighter http://FSFLA.org/~lxoliva/ You must be the change you wish to see in the world. -- Gandhi Be Free! -- http://FSFLA.org/ FSF Latin America board member Free Software Evangelist|Red Hat Brasil GNU Toolchain Engineer -- To unsubscribe from this list: send the line "unsubscribe linux-man" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html