X-Git-Url: https://ruderich.org/simon/gitweb/?a=blobdiff_plain;f=src%2Fcoloredstderr.c;h=fd83b15bae63192597a914ff30f6525a7b1f7869;hb=3676d3f21f0e1e2e59cd2fcafc64acccd3782ef9;hp=eaeebd30801aff421096ecd801140721ddd26841;hpb=b6d1dc09b620742b1877935f9f21a90a13ca5ee1;p=coloredstderr%2Fcoloredstderr.git diff --git a/src/coloredstderr.c b/src/coloredstderr.c index eaeebd3..fd83b15 100644 --- a/src/coloredstderr.c +++ b/src/coloredstderr.c @@ -326,7 +326,7 @@ HOOK_FILE2(int, __overflow, f, _IO_FILE *, f, int, ch) /* Same for FreeBSD's libc. However it's more aggressive: The inline writing * and __swbuf() are also used for normal output (e.g. putc()). Writing to * stderr is still fine; it always calls __swbuf() as stderr is always - * unbufferd. */ + * unbuffered. */ #ifdef HAVE___SWBUF HOOK_FILE2(int, __swbuf, f, int, c, FILE *, f) #endif @@ -534,11 +534,12 @@ pid_t vfork(void) { * isn't allowed to perform any memory-modifications before the exec() * (except the pid_t result variable of vfork()). * - * As some programs don't adhere to the standard (e.g. the "child" closes - * or dups a descriptor before the exec()) and this breaks our tracking of - * file descriptors (e.g. it gets closed in the parent as well), we just - * fork() instead. This is in compliance with the POSIX standard and as - * most systems use copy-on-write anyway not a performance issue. */ + * As we have to store changes to the file descriptors in memory (e.g. the + * "child" closes or dups a descriptor before the exec()) and this + * modifies the parent as well due to the semantics of vfork() - thus + * breaking the requirements of vfork(), we just use fork instead(). This + * is in compliance with the POSIX standard and as most systems use + * copy-on-write anyway not a performance issue. */ return fork(); } #endif