* 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