* fhandler.cc (fhandler_base::fork_fixup): Don't protect handle.

* dlfcn.cc: Fix to confirm to coding standards.  Reorganize includes throughout
to accomodate new cygheap.h usage.
* cygheap.h (cygheap_fdmanip): New class: simplifies locking and retrieval of
fds from cygheap->fdtab.
(cygheap_fdget): Ditto.
(cygheap_fdnew): Ditto.
* fcntl.cc (_fcntl): Use new method to lock fdtab and retrieve info.
* ioctl.cc (ioctl): Ditto.
* mmap.cc (mmap): Ditto.
* net.cc: Ditto, throughout.
* passwd.cc (getpass): Ditto.
* path.cc (fchdir): Ditto.
* pipe.cc (make_pipe): Ditto.
* sec_acl.cc (facl): Ditto.
* syscalls.cc: Ditto, throughout.
* termios.cc: Ditto, throughout.
This commit is contained in:
Christopher Faylor
2001-10-15 23:39:33 +00:00
parent fff126983e
commit df63bd490a
24 changed files with 398 additions and 396 deletions

View File

@ -25,15 +25,12 @@ details. */
extern "C" int
ioctl (int fd, int cmd, void *buf)
{
if (cygheap->fdtab.not_open (fd))
{
set_errno (EBADF);
return -1;
}
cygheap_fdget cfd (fd);
if (cfd < 0)
return -1;
debug_printf ("fd %d, cmd %x\n", fd, cmd);
fhandler_base *fh = cygheap->fdtab[fd];
if (fh->is_tty () && fh->get_device () != FH_PTYM)
if (cfd->is_tty () && cfd->get_device () != FH_PTYM)
switch (cmd)
{
case TCGETA:
@ -46,5 +43,5 @@ ioctl (int fd, int cmd, void *buf)
return tcsetattr (fd, TCSAFLUSH, (struct termios *) buf);
}
return fh->ioctl (cmd, buf);
return cfd->ioctl (cmd, buf);
}