Changeset 3f14ac4172fe496b8e0deb2e01c2713e5b3133eb

Show
Ignore:
Timestamp:
05/30/08 17:18:02 (3 months ago)
Author:
Rémi Denis-Courmont <rem@videolan.org>
git-committer:
Rémi Denis-Courmont <rem@videolan.org> 1212160682 +0300
git-parent:

[234a17d087d4b5648adb9051a847db31bbc47149]

git-author:
Rémi Denis-Courmont <rem@videolan.org> 1212160660 +0300
Message:

Print backtrace in vlc_pthread_fatal

Files:

Legend:

Unmodified
Added
Removed
Modified
Copied
Moved
  • src/misc/threads.c

    r8b27004 r3f14ac4  
    8484} 
    8585 
     86#ifdef __GLIBC__ 
     87# include <execinfo.h> 
     88#endif 
     89 
    8690/***************************************************************************** 
    8791 * vlc_thread_fatal: Report an error from the threading layer 
     
    101105    /* Avoid the strerror_r() prototype brain damage in glibc */ 
    102106    errno = error; 
    103     fprintf (stderr, " Error message: %m\n"); 
     107    dprintf (2, " Error message: %m at:\n"); 
     108 
     109    void *stack[20]; 
     110    int len = backtrace (stack, sizeof (stack) / sizeof (stack[0])); 
     111    backtrace_symbols_fd (stack, len, 2); 
    104112#else 
    105113    char buf[1000]; 
     
    119127    } 
    120128    fprintf (stderr, " Error message: %s\n", msg); 
    121 #endif 
    122  
    123129    fflush (stderr); 
     130#endif 
     131 
    124132    abort (); 
    125133}