[BACK]Return to jemalloc.c CVS log [TXT][DIR] Up to [cvs.NetBSD.org] / src / lib / libc / stdlib

Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files.

Diff for /src/lib/libc/stdlib/jemalloc.c between version 1.15 and 1.16

version 1.15, 2007/12/01 22:44:44 version 1.16, 2007/12/04 17:43:51
Line 161  __RCSID("$NetBSD$");
Line 161  __RCSID("$NetBSD$");
   
 #ifdef __NetBSD__  #ifdef __NetBSD__
 #  include <reentrant.h>  #  include <reentrant.h>
 void    _malloc_prefork(void);  #  include "extern.h"
 void    _malloc_postfork(void);  
 ssize_t _write(int, const void *, size_t);  #define STRERROR_R(a, b, c)     __strerror_r(a, b, c);
 const char      *_getprogname(void);  /*
    * A non localized version of strerror, that avoids bringing in
    * stdio and the locale code. All the malloc messages are in English
    * so why bother?
    */
   static int
   __strerror_r(int e, char *s, size_t l)
   {
           int rval;
           size_t slen;
   
           if (e >= 0 && e < sys_nerr) {
                   slen = strlcpy(s, sys_errlist[e], l);
                   rval = 0;
           } else {
                   slen = snprintf_ss(s, l, "Unknown error %u", e);
                   rval = EINVAL;
           }
           return slen >= l ? ERANGE : rval;
   }
 #endif  #endif
   
 #ifdef __FreeBSD__  #ifdef __FreeBSD__
   #define STRERROR_R(a, b, c)     strerror_r(a, b, c);
 #include "un-namespace.h"  #include "un-namespace.h"
 #endif  #endif
   
Line 926  static void
Line 946  static void
 wrtmessage(const char *p1, const char *p2, const char *p3, const char *p4)  wrtmessage(const char *p1, const char *p2, const char *p3, const char *p4)
 {  {
   
         _write(STDERR_FILENO, p1, strlen(p1));          write(STDERR_FILENO, p1, strlen(p1));
         _write(STDERR_FILENO, p2, strlen(p2));          write(STDERR_FILENO, p2, strlen(p2));
         _write(STDERR_FILENO, p3, strlen(p3));          write(STDERR_FILENO, p3, strlen(p3));
         _write(STDERR_FILENO, p4, strlen(p4));          write(STDERR_FILENO, p4, strlen(p4));
 }  }
   
 void    (*_malloc_message)(const char *p1, const char *p2, const char *p3,  void    (*_malloc_message)(const char *p1, const char *p2, const char *p3,
Line 1227  pages_map_align(void *addr, size_t size,
Line 1247  pages_map_align(void *addr, size_t size,
                 if (munmap(ret, size) == -1) {                  if (munmap(ret, size) == -1) {
                         char buf[STRERROR_BUF];                          char buf[STRERROR_BUF];
   
                         strerror_r(errno, buf, sizeof(buf));                          STRERROR_R(errno, buf, sizeof(buf));
                         _malloc_message(_getprogname(),                          _malloc_message(getprogname(),
                             ": (malloc) Error in munmap(): ", buf, "\n");                              ": (malloc) Error in munmap(): ", buf, "\n");
                         if (opt_abort)                          if (opt_abort)
                                 abort();                                  abort();
Line 1255  pages_unmap(void *addr, size_t size)
Line 1275  pages_unmap(void *addr, size_t size)
         if (munmap(addr, size) == -1) {          if (munmap(addr, size) == -1) {
                 char buf[STRERROR_BUF];                  char buf[STRERROR_BUF];
   
                 strerror_r(errno, buf, sizeof(buf));                  STRERROR_R(errno, buf, sizeof(buf));
                 _malloc_message(_getprogname(),                  _malloc_message(getprogname(),
                     ": (malloc) Error in munmap(): ", buf, "\n");                      ": (malloc) Error in munmap(): ", buf, "\n");
                 if (opt_abort)                  if (opt_abort)
                         abort();                          abort();
Line 2670  arenas_extend(unsigned ind)
Line 2690  arenas_extend(unsigned ind)
          * by using arenas[0].  In practice, this is an extremely unlikely           * by using arenas[0].  In practice, this is an extremely unlikely
          * failure.           * failure.
          */           */
         _malloc_message(_getprogname(),          _malloc_message(getprogname(),
             ": (malloc) Error initializing arena\n", "", "");              ": (malloc) Error initializing arena\n", "", "");
         if (opt_abort)          if (opt_abort)
                 abort();                  abort();
Line 3490  malloc_init_hard(void)
Line 3510  malloc_init_hard(void)
   
                                 cbuf[0] = opts[j];                                  cbuf[0] = opts[j];
                                 cbuf[1] = '\0';                                  cbuf[1] = '\0';
                                 _malloc_message(_getprogname(),                                  _malloc_message(getprogname(),
                                     ": (malloc) Unsupported character in "                                      ": (malloc) Unsupported character in "
                                     "malloc options: '", cbuf, "'\n");                                      "malloc options: '", cbuf, "'\n");
                         }                          }
Line 3682  malloc(size_t size)
Line 3702  malloc(size_t size)
 RETURN:  RETURN:
         if (ret == NULL) {          if (ret == NULL) {
                 if (opt_xmalloc) {                  if (opt_xmalloc) {
                         _malloc_message(_getprogname(),                          _malloc_message(getprogname(),
                             ": (malloc) Error in malloc(): out of memory\n", "",                              ": (malloc) Error in malloc(): out of memory\n", "",
                             "");                              "");
                         abort();                          abort();
Line 3707  posix_memalign(void **memptr, size_t ali
Line 3727  posix_memalign(void **memptr, size_t ali
                 if (((alignment - 1) & alignment) != 0                  if (((alignment - 1) & alignment) != 0
                     || alignment < sizeof(void *)) {                      || alignment < sizeof(void *)) {
                         if (opt_xmalloc) {                          if (opt_xmalloc) {
                                 _malloc_message(_getprogname(),                                  _malloc_message(getprogname(),
                                     ": (malloc) Error in posix_memalign(): "                                      ": (malloc) Error in posix_memalign(): "
                                     "invalid alignment\n", "", "");                                      "invalid alignment\n", "", "");
                                 abort();                                  abort();
Line 3722  posix_memalign(void **memptr, size_t ali
Line 3742  posix_memalign(void **memptr, size_t ali
   
         if (result == NULL) {          if (result == NULL) {
                 if (opt_xmalloc) {                  if (opt_xmalloc) {
                         _malloc_message(_getprogname(),                          _malloc_message(getprogname(),
                         ": (malloc) Error in posix_memalign(): out of memory\n",                          ": (malloc) Error in posix_memalign(): out of memory\n",
                         "", "");                          "", "");
                         abort();                          abort();
Line 3777  calloc(size_t num, size_t size)
Line 3797  calloc(size_t num, size_t size)
 RETURN:  RETURN:
         if (ret == NULL) {          if (ret == NULL) {
                 if (opt_xmalloc) {                  if (opt_xmalloc) {
                         _malloc_message(_getprogname(),                          _malloc_message(getprogname(),
                             ": (malloc) Error in calloc(): out of memory\n", "",                              ": (malloc) Error in calloc(): out of memory\n", "",
                             "");                              "");
                         abort();                          abort();
Line 3812  realloc(void *ptr, size_t size)
Line 3832  realloc(void *ptr, size_t size)
   
                 if (ret == NULL) {                  if (ret == NULL) {
                         if (opt_xmalloc) {                          if (opt_xmalloc) {
                                 _malloc_message(_getprogname(),                                  _malloc_message(getprogname(),
                                     ": (malloc) Error in realloc(): out of "                                      ": (malloc) Error in realloc(): out of "
                                     "memory\n", "", "");                                      "memory\n", "", "");
                                 abort();                                  abort();
Line 3827  realloc(void *ptr, size_t size)
Line 3847  realloc(void *ptr, size_t size)
   
                 if (ret == NULL) {                  if (ret == NULL) {
                         if (opt_xmalloc) {                          if (opt_xmalloc) {
                                 _malloc_message(_getprogname(),                                  _malloc_message(getprogname(),
                                     ": (malloc) Error in realloc(): out of "                                      ": (malloc) Error in realloc(): out of "
                                     "memory\n", "", "");                                      "memory\n", "", "");
                                 abort();                                  abort();

Legend:
Removed from v.1.15  
changed lines
  Added in v.1.16

CVSweb <webmaster@jp.NetBSD.org>