diff options
author | Keith M Wesolowski <wesolows@foobazco.org> | 2013-07-18 00:49:01 +0000 |
---|---|---|
committer | Keith M Wesolowski <wesolows@foobazco.org> | 2013-07-18 00:49:04 +0000 |
commit | 8cb0d5d22925a6316ff1386fa13a6dbca34cfee7 (patch) | |
tree | d0c8fa919b1a107eee0f392be1ac3091bd23917c /usr/src/lib/libc/inc | |
parent | ccd723900c0b9504ba6263e7e9d4cdb73a234751 (diff) | |
parent | 3e7c6556c4272555ed6c5ecdbca2bf8a56df6ff5 (diff) | |
download | illumos-joyent-8cb0d5d22925a6316ff1386fa13a6dbca34cfee7.tar.gz |
[illumos-gate merge]
commit 3e7c6556c4272555ed6c5ecdbca2bf8a56df6ff5
3893 lvm: incorrect flag handling
commit 5bc7ce93aca1e9026e3243221a9a0b1a3bc9a32e
3853 __cplusplus change and headers incompatipility with clang
commit 5c069a6c4b95a7360294695998bf1d3b12473abf
3849 implement __cxa_atexit/__cxa_finalize
Diffstat (limited to 'usr/src/lib/libc/inc')
-rw-r--r-- | usr/src/lib/libc/inc/thr_uberdata.h | 11 |
1 files changed, 10 insertions, 1 deletions
diff --git a/usr/src/lib/libc/inc/thr_uberdata.h b/usr/src/lib/libc/inc/thr_uberdata.h index 2b8d000b29..5f67e760e2 100644 --- a/usr/src/lib/libc/inc/thr_uberdata.h +++ b/usr/src/lib/libc/inc/thr_uberdata.h @@ -858,16 +858,25 @@ typedef struct { * atexit() data structures. * See port/gen/atexit.c for details. */ -typedef void (*_exithdlr_func_t) (void); +typedef void (*_exithdlr_func_t) (void*); typedef struct _exthdlr { struct _exthdlr *next; /* next in handler list */ _exithdlr_func_t hdlr; /* handler itself */ + void *arg; /* argument to handler */ + void *dso; /* DSO associated with handler */ } _exthdlr_t; typedef struct { mutex_t exitfns_lock; _exthdlr_t *head; + /* + * exit_frame_monitor is part of a private contract between libc and + * the Sun C++ runtime. + * + * It should be NULL until exit() is called, and thereafter hold the + * frame pointer of the function implementing our exit processing. + */ void *exit_frame_monitor; char exit_pad[64 - /* pad out to 64 bytes */ (sizeof (mutex_t) + sizeof (_exthdlr_t *) + sizeof (void *))]; |