* cygheap.cc (cygheap_fixup_in_child): Use user_heap element in cygheap.

(init_cheap): Ditto for declaration.
* fork.cc (fork_parent): Use user_heap element in cygheap.
* heap.h (inheap): Ditto.
* heap.cc (sbrk): Ditto.
(heap_init): Ditto.  Reorganize to shrink heap chunk as required and record new
value in cygheap.
* dcrt0.cc (dll_crt0_1): More "move the cygthread init" games.
* shared.cc (open_shared): Rework memory protection to properly deal with
relocated shared segment.
(shared_info::heap_chunk_size): Rename element to 'heap_chunk'.
* shared_info.h (shared_info): Ditto for declaration.
* strace.cc (strace::hello): Report on heap chunk size from cygheap since it
may shrink.
This commit is contained in:
Christopher Faylor
2002-10-22 16:18:55 +00:00
parent 5ec14fe40a
commit 1cc651ecaf
11 changed files with 142 additions and 89 deletions

View File

@ -198,18 +198,21 @@ struct cygheap_debug
};
#endif
struct user_heap_info
{
void *base;
void *ptr;
void *top;
unsigned chunk;
};
struct init_cygheap
{
_cmalloc_entry *chain;
char *buckets[32];
struct /* User heap stuff. */
{
void *heapbase;
void *heapptr;
void *heaptop;
};
cygheap_root root;
cygheap_user user;
user_heap_info user_heap;
mode_t umask;
HANDLE shared_h;
HANDLE console_h;