if((s = getenv("MALLOC_MMAP_THRESHOLD_")))
if((s = __secure_getenv("MALLOC_MMAP_THRESHOLD_")))
ptmalloc_init __MALLOC_P((void))#endif{#if defined _LIBC || defined MALLOC_HOOKS  const char* s;#endif  if(__malloc_initialized >= 0) return;  __malloc_initialized = 0;#ifdef _LIBC  __libc_pagesize = __getpagesize();#endif#ifndef NO_THREADS#if defined _LIBC || defined MALLOC_HOOKS  /* With some threads implementations, creating thread-specific data     or initializing a mutex may call malloc() itself.  Provide a     simple starter version (realloc() won't work). */  save_malloc_hook = __malloc_hook;  save_free_hook = __free_hook;  __malloc_hook = malloc_starter;  __free_hook = free_starter;#endif#ifdef _LIBC  /* Initialize the pthreads interface. */  if (__pthread_initialize != NULL)    __pthread_initialize();#endif  mutex_init(&main_arena.mutex);  mutex_init(&list_lock);  tsd_key_create(&arena_key, NULL);  tsd_setspecific(arena_key, (Void_t *)&main_arena);  thread_atfork(ptmalloc_lock_all, ptmalloc_unlock_all, ptmalloc_init_all);#endif /* !defined NO_THREADS */#if defined _LIBC || defined MALLOC_HOOKS  if((s = getenv("MALLOC_TRIM_THRESHOLD_")))    mALLOPt(M_TRIM_THRESHOLD, atoi(s));  if((s = getenv("MALLOC_TOP_PAD_")))    mALLOPt(M_TOP_PAD, atoi(s));  if((s = getenv("MALLOC_MMAP_THRESHOLD_")))    mALLOPt(M_MMAP_THRESHOLD, atoi(s));  if((s = getenv("MALLOC_MMAP_MAX_")))    mALLOPt(M_MMAP_MAX, atoi(s));  s = getenv("MALLOC_CHECK_");#ifndef NO_THREADS  __malloc_hook = save_malloc_hook;  __free_hook = save_free_hook;#endif  if(s) {    if(s[0]) mALLOPt(M_CHECK_ACTION, (int)(s[0] - '0'));    __malloc_check_init();  }  if(__malloc_initialize_hook != NULL)    (*__malloc_initialize_hook)();#endif  __malloc_initialized = 1;}