* cygheap.cc (cfree): Remove malloc debugging probe.
* dlmalloc.c (errprint): Remove abort() call which causes interesting error message printing to abort prematurely. * environ.cc: Sprinkle MALLOC_CHECKs liberally throughout. (_addenv): Allocate two empty elements at end of environ to (apparently) work around problems with some buggy applications. (winenv): Avoid calling alloca if no forced environment variable is present. * exceptions.cc (open_stackdumpfile): Don't print "Dumping stack trace to..." when running in a cygwin environment (i.e., the parent is a cygwin process). * dtable.cc (dtable::init_std_file_from_handle): Move device type detection code from build_fhandler here since it is only used by this function. (dtable::build_fhandler_from_name): New method. Renamed from dtable::build_fhandler. (dtable::build_fhandler): Use build_fhandler_from_name. (cygwin_attach_handle_to_fd): Ditto. * syscalls.cc (_open): Ditto. (stat_worker): Ditto. * dtable.h (dtable::build_fhandler_from_name): Rename declaration from dtable::build_fhandler.
This commit is contained in:
@@ -377,7 +377,6 @@ done:
|
||||
else
|
||||
syscall_printf ("%d = write (%d, %p, %d)", res, fd, ptr, len);
|
||||
|
||||
MALLOC_CHECK;
|
||||
return (ssize_t)res;
|
||||
}
|
||||
|
||||
@@ -499,7 +498,8 @@ _open (const char *unix_path, int flags, ...)
|
||||
else
|
||||
{
|
||||
path_conv pc;
|
||||
if (!(fh = cygheap->fdtab.build_fhandler (fd, unix_path, NULL, pc)))
|
||||
if (!(fh = cygheap->fdtab.build_fhandler_from_name (fd, unix_path,
|
||||
NULL, pc)))
|
||||
res = -1; // errno already set
|
||||
else if (!fh->open (pc, flags, (mode & 07777) & ~cygheap->umask))
|
||||
{
|
||||
@@ -1087,10 +1087,11 @@ stat_worker (const char *caller, const char *name, struct stat *buf,
|
||||
if (check_null_invalid_struct_errno (buf))
|
||||
goto done;
|
||||
|
||||
fh = cygheap->fdtab.build_fhandler (-1, name, NULL, real_path,
|
||||
(nofollow ? PC_SYM_NOFOLLOW : PC_SYM_FOLLOW)
|
||||
| PC_FULL, stat_suffixes);
|
||||
|
||||
fh = cygheap->fdtab.build_fhandler_from_name (-1, name, NULL, real_path,
|
||||
(nofollow ?
|
||||
PC_SYM_NOFOLLOW
|
||||
: PC_SYM_FOLLOW)
|
||||
| PC_FULL, stat_suffixes);
|
||||
if (real_path.error)
|
||||
{
|
||||
set_errno (real_path.error);
|
||||
|
Reference in New Issue
Block a user