* syscalls.cc (_link): Make sure that newpath does not exist. Set errno if it

does.
* cygheap.cc (init_cheap): Don't specify a load address for the heap.  It
doesn't work on #!*& Windows 9x.
(cygheap_init): Move GetUserName to memory_init.
* dcrt0.cc (dll_crt0_1): Call new memory_init functin, eliminate call to
heap_init.
* heap.cc (heap_init): Improve error output.
* heap.h: Correct some declarations.
* shared.cc (mount_table_init): Remove.
(memory_init): Renamed from shared_init.  Reorganize to accomodate strange
Windows 9x problems with cygheap/heap interaction.
* shared_info.h: Rename shared_init to memory_init.
This commit is contained in:
Christopher Faylor
2001-01-29 00:46:25 +00:00
parent 39d871d66d
commit 6a4878cf16
8 changed files with 88 additions and 59 deletions

View File

@ -27,8 +27,7 @@ static NO_COPY muto *cygheap_protect = NULL;
inline static void
init_cheap ()
{
void *addr = cygheap_address;
cygheap = (init_cygheap *) VirtualAlloc (addr, CYGHEAPSIZE, MEM_RESERVE, PAGE_NOACCESS);
cygheap = (init_cygheap *) VirtualAlloc (NULL, CYGHEAPSIZE, MEM_RESERVE, PAGE_NOACCESS);
if (!cygheap)
api_fatal ("Couldn't reserve space for cygwin's heap, %E");
cygheap_max = cygheap + 1;
@ -67,14 +66,6 @@ cygheap_init ()
{
cygheap_protect = new_muto (FALSE, "cygheap_protect");
_csbrk (0);
char username[MAX_USER_NAME];
DWORD username_len = MAX_USER_NAME;
if (!GetUserName (username, &username_len))
cygheap->user.set_name ("unknown");
else
cygheap->user.set_name (username);
}
/* Copyright (C) 1997, 2000 DJ Delorie */