ARG_MAX
| Shells
| portability
| permissions
| UUOC
| ancient
| -
| ../Various
| HOME
$() vs )
| IFS
| using siginfo
| nanosleep
| line charset
| locale
Extracts from Dynix 3.2.0 doc/RELEASE.NOTES
[...]
Ucb Shell Redirection Can Affect Some Programs (08437)
When either csh or sh does output redirection using the '>' or
'>>' metacharacters, the APPEND bit is set on the descriptor
(which differs from most UNIX implementations). This is done
in DYNIX so that when parallel make(1) is used and the output
is redirected to a file, the output is less scrambled.
However, this behavior has a minor effect on programs which
write to standard output and expect to seek backwards on out-
put.
An example of such a program is one that does a seek backwards
from the current file position on stdout and then writes again
on stdout. The expectation is that when stdout is redirected
to a file, the backward seek should work. However, since
since the shell set APPEND on the file descriptor when
redirection was done, the write after the seek still appends
to the end of the file, as if the seek had failed.
Workaround. One workaround is to clear the APPEND bit on
stdout. This can be done using the fcntl(2) system call:
#include <fcntl.h>
int res;
if ((res = fcntl(fileno(stdout), F_GETFL, 0)) < 0)
perror("fcntl");
res &= ~FAPPEND;
if (fcntl(fileno(stdout), F_SETFL, res) < 0)
perror("fcntl");
Another workaround is to use the att universe version of sh,
which does not set the APPEND bit on file redirection.
[...]
Shell $PARALLEL Value Must Be 2 or More (07788)
With the parallel extensions to the Bourne shell, you may
specify the maximum number of background jobs by setting the
environment variable $PARALLEL. However, setting $PARALLEL to
a value of 0 or 1 causes command pipelines to hang.
Workaround. If you set $PARALLEL, give it a value greater
than 1.
[...]