+
+
+
+◆ __set_backtrace_on_abort()
+
+
+
+
+
+ void __set_backtrace_on_abort |
+ ( |
+ bool |
+ flag | ) |
+ |
+
+
+
+
Enable or disable abort() from calling display_backtrace(). Default is true.
+
diff --git a/docs/zos-base_8h_source.html b/docs/zos-base_8h_source.html
index 91df1cf..a90b0a6 100644
--- a/docs/zos-base_8h_source.html
+++ b/docs/zos-base_8h_source.html
@@ -179,390 +179,399 @@
- 161 int execvpe(
const char *name,
char *
const argv[],
char *
const envp[]);
-
-
-
-
-
-
-
- 194 void __abend(
int comp_code,
unsigned reason_code,
int flat_byte,
void *
plist);
-
-
-
-
-
-
-
-
+
+
+ 166 int execvpe(
const char *name,
char *
const argv[],
char *
const envp[]);
+
+
+
+
+
+
+
+ 199 void __abend(
int comp_code,
unsigned reason_code,
int flat_byte,
void *
plist);
+
+
+
+
+
+
- 234 int __getargcv(
int *argc,
char ***argv, pid_t pid);
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- 325 void *
roanon_mmap(
void *_,
size_t len,
int prot,
int flags,
- 326 const char *filename,
int fildes, off_t off);
-
-
-
-
- 348 unsigned int event_list,
unsigned int *secs_rem,
- 349 unsigned int *nsecs_rem);
-
-
-
-
-
-
-
-
+
+
+ 239 int __getargcv(
int *argc,
char ***argv, pid_t pid);
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 330 void *
roanon_mmap(
void *_,
size_t len,
int prot,
int flags,
+ 331 const char *filename,
int fildes, off_t off);
+
+
+
+
+ 353 unsigned int event_list,
unsigned int *secs_rem,
+ 354 unsigned int *nsecs_rem);
+
+
+
+
+
+
- 380 size_t strnlen(
const char *str,
size_t maxlen);
-
-
-
-
-
-
-
-
-
-
-
+
+
+ 385 size_t strnlen(
const char *str,
size_t maxlen);
+
+
+
+
+
+
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- 513 #endif // __cplusplus
-
-
-
- 528 int nanosleep(
const struct timespec *req,
struct timespec *rem);
-
- 536 int __lutimes(
const char *filename,
const struct timeval tv[2]);
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- 563 inline bool operator==(
const pthread_t &_a,
const pthread_t &_b) {
- 564 return _a.__ == _b.__;
-
- 566 inline bool operator!=(
const pthread_t &_a,
const pthread_t &_b) {
- 567 return _a.__ != _b.__;
-
- 569 inline bool operator<=(
const pthread_t &_a,
const pthread_t &_b) {
- 570 return _a.__ <= _b.__;
-
- 572 inline bool operator>=(
const pthread_t &_a,
const pthread_t &_b) {
- 573 return _a.__ >= _b.__;
-
- 575 inline bool operator<(
const pthread_t &_a,
const pthread_t &_b) {
- 576 return _a.__ < _b.__;
-
- 578 inline bool operator>(
const pthread_t &_a,
const pthread_t &_b) {
- 579 return _a.__ > _b.__;
-
-
-
- 583 std::string envarName;
- 584 std::string envarValue;
-
- 586 zoslibEnvar(std::string name, std::string value)
- 587 : envarName(name), envarValue(value) {}
-
- 589 bool operator<(
const zoslibEnvar &t)
const {
- 590 return std::tie(envarName, envarValue) <
- 591 std::tie(t.envarName, t.envarValue);
-
-
-
-
-
-
- 598 std::terminate_handler _th;
-
- 600 static __zinit *instance;
-
-
-
-
-
-
- 607 std::map<zoslibEnvar, std::string> envarHelpMap;
-
-
-
-
- 612 bool isValidZOSLIBEnvar(std::string envar);
-
-
- 615 instance =
new __zinit(config);
- 616 instance->initialize();
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 518 #endif // __cplusplus
+
+
+
+ 533 int nanosleep(
const struct timespec *req,
struct timespec *rem);
+
+ 541 int __lutimes(
const char *filename,
const struct timeval tv[2]);
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 568 inline bool operator==(
const pthread_t &_a,
const pthread_t &_b) {
+ 569 return _a.__ == _b.__;
+
+ 571 inline bool operator!=(
const pthread_t &_a,
const pthread_t &_b) {
+ 572 return _a.__ != _b.__;
+
+ 574 inline bool operator<=(
const pthread_t &_a,
const pthread_t &_b) {
+ 575 return _a.__ <= _b.__;
+
+ 577 inline bool operator>=(
const pthread_t &_a,
const pthread_t &_b) {
+ 578 return _a.__ >= _b.__;
+
+ 580 inline bool operator<(
const pthread_t &_a,
const pthread_t &_b) {
+ 581 return _a.__ < _b.__;
+
+ 583 inline bool operator>(
const pthread_t &_a,
const pthread_t &_b) {
+ 584 return _a.__ > _b.__;
+
+ 586 inline bool operator==(
const pthread_t &_a,
const int _b) {
+ 587 return _a.__ ==
static_cast<unsigned long long>(_b);
+
+ 589 inline bool operator!=(
const pthread_t &_a,
const int _b) {
+ 590 return _a.__ !=
static_cast<unsigned long long>(_b);
+
+
+
+ 594 std::string envarName;
+ 595 std::string envarValue;
+
+ 597 zoslibEnvar(std::string name, std::string value)
+ 598 : envarName(name), envarValue(value) {}
+
+ 600 bool operator<(
const zoslibEnvar &t)
const {
+ 601 return std::tie(envarName, envarValue) <
+ 602 std::tie(t.envarName, t.envarValue);
+
+
+
+
+
+
+ 609 std::terminate_handler _th;
+
+ 611 static __zinit *instance;
+
+
+
+
+
+
+ 618 std::map<zoslibEnvar, std::string> envarHelpMap;
- 620 int initialize(
void);
- 621 int setEnvarHelpMap(
void);
+
+
- 623 static __zinit *getInstance() {
return instance; }
+ 623 bool isValidZOSLIBEnvar(std::string envar);
- 625 int forked(
int newvalue) {
-
-
-
+
+ 626 instance =
new __zinit(config);
+ 627 instance->initialize();
+
- 631 int get_forkmax(
void) {
return forkmax; }
-
- 633 int inc_forkcount(
void) {
- 634 if (0 == forkmax || 0 == shmid)
-
-
-
-
-
- 640 original = *forkcurr;
- 641 new_value = original + 1;
- 642 __asm(
" cs %0,%2,%1 \n "
- 643 :
"+r"(original),
"+m"(*forkcurr)
-
-
- 646 }
while (original != (new_value - 1));
-
-
- 649 int dec_forkcount(
void) {
- 650 if (0 == forkmax || 0 == shmid)
-
-
-
-
-
- 656 original = *forkcurr;
-
-
- 659 new_value = original - 1;
- 660 __asm(
" cs %0,%2,%1 \n "
- 661 :
"+r"(original),
"+m"(*forkcurr)
-
-
- 664 }
while (original != (new_value - 1));
-
-
- 667 int shmid_value(
void) {
return shmid; }
-
-
- 670 if (_CVTSTATE_OFF == cvstate) {
- 671 __ae_autoconvert_state(cvstate);
-
- 673 __ae_thread_swapmode(mode);
-
-
-
-
- 678 shmctl(shmid, IPC_RMID, 0);
-
-
-
- 682 void __abort() { _th(); }
-
-
- 685 struct __init_zoslib {
- 686 __init_zoslib(
const zoslib_config_t &config = {}) { __zinit::init(config); }
-
-
- 689 #endif // __cplusplus
- 690 #endif // ZOS_BASE_H_
+ 631 int initialize(
void);
+ 632 int setEnvarHelpMap(
void);
+
+ 634 static __zinit *getInstance() {
return instance; }
+
+ 636 int forked(
int newvalue) {
+
+
+
+
+
+ 642 int get_forkmax(
void) {
return forkmax; }
+
+ 644 int inc_forkcount(
void) {
+ 645 if (0 == forkmax || 0 == shmid)
+
+
+
+
+
+ 651 original = *forkcurr;
+ 652 new_value = original + 1;
+ 653 __asm(
" cs %0,%2,%1 \n "
+ 654 :
"+r"(original),
"+m"(*forkcurr)
+
+
+ 657 }
while (original != (new_value - 1));
+
+
+ 660 int dec_forkcount(
void) {
+ 661 if (0 == forkmax || 0 == shmid)
+
+
+
+
+
+ 667 original = *forkcurr;
+
+
+ 670 new_value = original - 1;
+ 671 __asm(
" cs %0,%2,%1 \n "
+ 672 :
"+r"(original),
"+m"(*forkcurr)
+
+
+ 675 }
while (original != (new_value - 1));
+
+
+ 678 int shmid_value(
void) {
return shmid; }
+
+
+ 681 if (_CVTSTATE_OFF == cvstate) {
+ 682 __ae_autoconvert_state(cvstate);
+
+ 684 __ae_thread_swapmode(mode);
+
+
+
+
+ 689 shmctl(shmid, IPC_RMID, 0);
+
+
+
+ 693 void __abort() { _th(); }
+
+
+ 696 struct __init_zoslib {
+ 697 __init_zoslib(
const zoslib_config_t &config = {}) { __zinit::init(config); }
+
+
+ 700 #endif // __cplusplus
+ 701 #endif // ZOS_BASE_H_
int * stack_addr
Definition: zos-base.h:83
Definition: zos-base.h:71
-int __update_envar_settings(const char *envar)
Definition: zos.cc:2636
-void __tb(void)
Definition: zos.cc:2042
-@ CW_CONDVAR
Definition: zos-base.h:351
+int __update_envar_settings(const char *envar)
Definition: zos.cc:2638
+void __tb(void)
Definition: zos.cc:2044
+@ CW_CONDVAR
Definition: zos-base.h:356
notagread_t
Definition: zos-base.h:47
void * entry_point
Definition: zos-base.h:79
-void __display_backtrace(int fd)
Definition: zos.cc:429
+void __display_backtrace(int fd)
Definition: zos.cc:430
____sem_t * _s
Definition: zos-base.h:72
-void * sfaddr
Definition: zos-base.h:405
+void * sfaddr
Definition: zos-base.h:410
#define IPC_CLEANUP_ENVAR_DEFAULT
Definition: zos-base.h:39
struct zoslib_config zoslib_config_t
-int __sem_init(__sem_t *s0, int shared, unsigned int val)
Definition: zos.cc:1802
-void __xfer_env(void)
Definition: zos.cc:154
-const char * UNTAGGED_READ_MODE_CCSID1047_ENVAR
Definition: zos-base.h:504
-void * __dlcb_entry_addr(void *dlcb)
Definition: zos.cc:654
+int __sem_init(__sem_t *s0, int shared, unsigned int val)
Definition: zos.cc:1804
+void __xfer_env(void)
Definition: zos.cc:155
+const char * UNTAGGED_READ_MODE_CCSID1047_ENVAR
Definition: zos-base.h:509
+void * __dlcb_entry_addr(void *dlcb)
Definition: zos.cc:655
@ CLOCK_HIGHRES
Definition: zos-base.h:59
-unsigned int atomic_dec(volatile unsigned int *loc)
Definition: zos.cc:1777
-int getentropy(void *buffer, size_t length)
Definition: zos.cc:2110
-int nanosleep(const struct timespec *req, struct timespec *rem)
Definition: zos.cc:3013
+unsigned int atomic_dec(volatile unsigned int *loc)
Definition: zos.cc:1779
+int getentropy(void *buffer, size_t length)
Definition: zos.cc:2112
+int nanosleep(const struct timespec *req, struct timespec *rem)
Definition: zos.cc:3015
#define RUNTIME_LIMIT_ENVAR_DEFAULT
Definition: zos-base.h:41
-int execvpe(const char *name, char *const argv[], char *const envp[])
Definition: zos.cc:1542
+int execvpe(const char *name, char *const argv[], char *const envp[])
Definition: zos.cc:1544
@ __NO_TAG_READ_DEFAULT_WITHWARNING
Definition: zos-base.h:49
-int __sem_destroy(__sem_t *s0)
Definition: zos.cc:2002
+int __sem_destroy(__sem_t *s0)
Definition: zos.cc:2004
#define UNTAGGED_READ_MODE_DEFAULT
Definition: zos-base.h:44
-void init_zoslib_config(zoslib_config_t *const config)
Definition: zos.cc:2998
-const char * FORKMAX_ENVAR
Definition: zos-base.h:490
-int __sem_post(__sem_t *s0)
Definition: zos.cc:1866
-int * __get_stack_start()
Definition: zos.cc:2880
-int __testread(const void *location)
Definition: zos.cc:1699
-void __build_version(void)
Definition: zos.cc:2160
-int get_ipcs_overview(IPCQPROC *info)
Definition: zos.cc:519
+void init_zoslib_config(zoslib_config_t *const config)
Definition: zos.cc:3000
+const char * FORKMAX_ENVAR
Definition: zos-base.h:495
+int __sem_post(__sem_t *s0)
Definition: zos.cc:1868
+int * __get_stack_start()
Definition: zos.cc:2882
+int __testread(const void *location)
Definition: zos.cc:1701
+void __build_version(void)
Definition: zos.cc:2162
+int get_ipcs_overview(IPCQPROC *info)
Definition: zos.cc:520
char entry_name[256]
Definition: zos-base.h:80
-const char * IPC_CLEANUP_ENVAR
Definition: zos-base.h:478
+const char * IPC_CLEANUP_ENVAR
Definition: zos-base.h:483
#define UNTAGGED_READ_MODE_CCSID1047_DEFAULT
Definition: zos-base.h:45
-char ** __getargv(void)
Definition: zos.cc:835
-notagread_t __get_no_tag_read_behaviour()
Definition: zos.cc:938
+char ** __getargv(void)
Definition: zos.cc:842
+notagread_t __get_no_tag_read_behaviour()
Definition: zos.cc:945
pthread_mutex_t mutex
Definition: zos-base.h:67
-int __sem_getvalue(__sem_t *s0, int *sval)
Definition: zos.cc:2032
-const char * CCSID_GUESS_BUF_SIZE_ENVAR
Definition: zos-base.h:495
-void __tcp_clear_to_close(int socket, unsigned int secs)
Definition: zos.cc:2203
+int __sem_getvalue(__sem_t *s0, int *sval)
Definition: zos.cc:2034
+const char * CCSID_GUESS_BUF_SIZE_ENVAR
Definition: zos-base.h:500
+void __tcp_clear_to_close(int socket, unsigned int secs)
Definition: zos.cc:2205
clockid_t
Definition: zos-base.h:56
volatile unsigned int id
Definition: zos-base.h:65
struct __stack_info __stack_info
int __sem_trywait(____sem_t *s0)
-char ** __get_environ_np(void)
Definition: zos.cc:100
-int __dlcb_entry_name(char *buf, int size, void *dlcb)
Definition: zos.cc:643
-void * roanon_mmap(void *_, size_t len, int prot, int flags, const char *filename, int fildes, off_t off)
Definition: zos.cc:2564
-int anon_munmap(void *addr, size_t len)
Definition: zos.cc:1521
+char ** __get_environ_np(void)
Definition: zos.cc:101
+int __dlcb_entry_name(char *buf, int size, void *dlcb)
Definition: zos.cc:644
+void * roanon_mmap(void *_, size_t len, int prot, int flags, const char *filename, int fildes, off_t off)
Definition: zos.cc:2566
+int anon_munmap(void *addr, size_t len)
Definition: zos.cc:1524
volatile unsigned int value
Definition: zos-base.h:64
-void init_zoslib(const zoslib_config_t config)
Definition: zos.cc:3009
-const char * __zoslib_version
Definition: zos.cc:75
-const char * UNTAGGED_READ_MODE_ENVAR
Definition: zos-base.h:499
-const char * getIFAUsageErrorString(unsigned long rc)
Definition: zos.cc:2492
+void init_zoslib(const zoslib_config_t config)
Definition: zos.cc:3011
+const char * __zoslib_version
Definition: zos.cc:76
+const char * UNTAGGED_READ_MODE_ENVAR
Definition: zos-base.h:504
+const char * getIFAUsageErrorString(unsigned long rc)
Definition: zos.cc:2494
@ CLOCK_REALTIME
Definition: zos-base.h:57
-char ** backtrace_symbols(void *const *buffer, int size)
Definition: zos.cc:257
-void backtrace_symbols_fd(void *const *buffer, int size, int fd)
Definition: zos.cc:422
-size_t strnlen(const char *str, size_t maxlen)
Definition: zos.cc:2166
-void * plist
Definition: zos.cc:2316
-void __cleanupipc(int others)
Definition: zos.cc:523
-void * __iterate_stack_and_get(void *dsaptr, __stack_info *si)
Definition: zos.cc:2742
-int clock_gettime(clockid_t clk_id, struct timespec *tp)
Definition: zos.cc:2054
+char ** backtrace_symbols(void *const *buffer, int size)
Definition: zos.cc:258
+void backtrace_symbols_fd(void *const *buffer, int size, int fd)
Definition: zos.cc:423
+size_t strnlen(const char *str, size_t maxlen)
Definition: zos.cc:2168
+void * plist
Definition: zos.cc:2318
+void __cleanupipc(int others)
Definition: zos.cc:524
+void * __iterate_stack_and_get(void *dsaptr, __stack_info *si)
Definition: zos.cc:2744
+int clock_gettime(clockid_t clk_id, struct timespec *tp)
Definition: zos.cc:2056
pthread_cond_t cond
Definition: zos-base.h:68
@ __NO_TAG_READ_V6
Definition: zos-base.h:50
-unsigned int atomic_inc(volatile unsigned int *loc)
Definition: zos.cc:1781
-long rc
Definition: zos.cc:2318
-int __lutimes(const char *filename, const struct timeval tv[2])
Definition: zos.cc:3040
+unsigned int atomic_inc(volatile unsigned int *loc)
Definition: zos.cc:1783
+long rc
Definition: zos.cc:2320
+int __lutimes(const char *filename, const struct timeval tv[2])
Definition: zos.cc:3042
Definition: zos-base.h:63
-const char * RUNTIME_LIMIT_ENVAR
Definition: zos-base.h:486
-void * anon_mmap(void *_, size_t len)
Definition: zos.cc:1510
+const char * RUNTIME_LIMIT_ENVAR
Definition: zos-base.h:491
+void * anon_mmap(void *_, size_t len)
Definition: zos.cc:1513
#define FORKMAX_ENVAR_DEFAULT
Definition: zos-base.h:42
-int __fork(void)
Definition: zos.cc:687
+int __fork(void)
Definition: zos.cc:694
-int backtrace(void **buffer, int size)
Definition: zos.cc:214
+int backtrace(void **buffer, int size)
Definition: zos.cc:215
@ CLOCK_MONOTONIC
Definition: zos-base.h:58
-unsigned long __mach_absolute_time(void)
Definition: zos.cc:954
-unsigned long t0
Definition: zos-base.h:406
-void __setdebug(int)
Definition: zos.cc:634
+unsigned long __mach_absolute_time(void)
Definition: zos.cc:961
+unsigned long t0
Definition: zos-base.h:411
+void __setdebug(int)
Definition: zos.cc:635
Definition: zos-base.h:77
-int __update_envar_names(zoslib_config_t *const config)
Definition: zos.cc:2731
+int __update_envar_names(zoslib_config_t *const config)
Definition: zos.cc:2733
#define DEBUG_ENVAR_DEFAULT
Definition: zos-base.h:40
volatile unsigned int waitcnt
Definition: zos-base.h:66
-int __indebug(void)
Definition: zos.cc:635
+int __indebug(void)
Definition: zos.cc:636
int * entry_addr
Definition: zos-base.h:82
-COND_TIME_WAIT_CONSTANTS
Definition: zos-base.h:351
-int strcasecmp_ignorecp(const char *a, const char *b)
Definition: zos.cc:469
-void __cpu_relax(__crwa_t *)
Definition: zos.cc:2175
+COND_TIME_WAIT_CONSTANTS
Definition: zos-base.h:356
+int strcasecmp_ignorecp(const char *a, const char *b)
Definition: zos.cc:470
+void __cpu_relax(__crwa_t *)
Definition: zos.cc:2177
int * return_addr
Definition: zos-base.h:81
-int __getexepath(char *path, int pathlen, pid_t pid)
Definition: zos.cc:859
-unsigned long long __registerProduct(const char *major_version, const char *product_owner, const char *feature_name, const char *product_name, const char *pid)
Definition: zos.cc:2498
-const char * DEBUG_ENVAR
Definition: zos-base.h:482
+void __set_backtrace_on_abort(bool flag)
Definition: zos.cc:670
+int __getexepath(char *path, int pathlen, pid_t pid)
Definition: zos.cc:866
+unsigned long long __registerProduct(const char *major_version, const char *product_owner, const char *feature_name, const char *product_name, const char *pid)
Definition: zos.cc:2500
+const char * DEBUG_ENVAR
Definition: zos-base.h:487
int __sem_timedwait(____sem_t *s0, const struct timespec *abs_timeout)
-int __getargc(void)
Definition: zos.cc:853
-int __getargcv(int *argc, char ***argv, pid_t pid)
Definition: zos.cc:718
+int __getargc(void)
Definition: zos.cc:860
+int __getargcv(int *argc, char ***argv, pid_t pid)
Definition: zos.cc:725
bool __is_stfle_available()
Definition: zos-sys-info.cc:73
-int __cond_timed_wait(unsigned int secs, unsigned int nsecs, unsigned int event_list, unsigned int *secs_rem, unsigned int *nsecs_rem)
Definition: zos.cc:667
+int __cond_timed_wait(unsigned int secs, unsigned int nsecs, unsigned int event_list, unsigned int *secs_rem, unsigned int *nsecs_rem)
Definition: zos.cc:674
@ __NO_TAG_READ_DEFAULT
Definition: zos-base.h:48
-int __get_no_tag_ignore_ccsid1047()
Definition: zos.cc:950
-int strncasecmp_ignorecp(const char *a, const char *b, size_t n)
Definition: zos.cc:484
-int gettid()
Definition: zos.cc:188
+int __get_no_tag_ignore_ccsid1047()
Definition: zos.cc:957
+int strncasecmp_ignorecp(const char *a, const char *b, size_t n)
Definition: zos.cc:485
+int gettid()
Definition: zos.cc:189
void * prev_dsa
Definition: zos-base.h:78
@ CLOCK_THREAD_CPUTIME_ID
Definition: zos-base.h:60
-Definition: zos-base.h:474
-void * __dlcb_next(void *last)
Definition: zos.cc:637
-@ CW_INTRPT
Definition: zos-base.h:351
+Definition: zos-base.h:479
+void * __dlcb_next(void *last)
Definition: zos.cc:638
+@ CW_INTRPT
Definition: zos-base.h:356
@ __NO_TAG_READ_STRICT
Definition: zos-base.h:51
-Definition: zos-base.h:404
+Definition: zos-base.h:409
struct __cpu_relax_workarea __crwa_t
-void __abend(int comp_code, unsigned reason_code, int flat_byte, void *plist)
Definition: zos.cc:435
-int __sem_wait(__sem_t *s0)
Definition: zos.cc:1996
-int __print_zoslib_help(FILE *fp, const char *title)
Definition: zos.cc:2609
+void __abend(int comp_code, unsigned reason_code, int flat_byte, void *plist)
Definition: zos.cc:436
+int __sem_wait(__sem_t *s0)
Definition: zos.cc:1998
+int __print_zoslib_help(FILE *fp, const char *title)
Definition: zos.cc:2611
#define CCSID_GUESS_BUF_SIZE_DEFAULT
Definition: zos-base.h:43