* 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:
@ -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;
|
||||
|
Reference in New Issue
Block a user