On Jun 29, 2005, at 10:21, Alexander V. Lukyanov wrote:
A quote from man page:
[...]
So tcgetpgrp should return -1 and set errno to ENOTTY. If FreeBSD
does not do
this, it is a bug.
On Mac OS X, tcgetpgrp(fileno(stdout)); also returns 0 when running
from crontab.
It was probably inherited from FreeBSD as well.
Here the man page says:
DESCRIPTION
The tcgetpgrp() function returns the value of the process group
ID of the
foreground process group associated with the terminal device.
If there
is no foreground process group, tcgetpgrp() returns an invalid
process
ID.
ERRORS
If an error occurs, tcgetpgrp() returns -1 and the global
variable errno
is set to indicate the error, as follows:
[EBADF] The fd argument is not a valid file descriptor.
[ENOTTY] The calling process does not have a
controlling termi-
nal or the underlying terminal device
represented by
fd is not the controlling terminal.
--
fds