summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--main.cxx1
-rw-r--r--session.h25
2 files changed, 22 insertions, 4 deletions
diff --git a/main.cxx b/main.cxx
index cdcae41a..055c56b8 100644
--- a/main.cxx
+++ b/main.cxx
@@ -379,6 +379,7 @@ main (int argc, char * const argv [])
s.ignore_vmlinux = false;
s.ignore_dwarf = false;
s.load_only = false;
+ s.skip_badvars = false;
const char* s_p = getenv ("SYSTEMTAP_TAPSET");
if (s_p != NULL)
diff --git a/session.h b/session.h
index cbbae6b2..aeeeacdf 100644
--- a/session.h
+++ b/session.h
@@ -74,8 +74,9 @@ struct statistic_decl
struct systemtap_session
{
systemtap_session ();
- // NB: new POD members likely need to be explicitly cleared in the ctor.
- // See elaborate.cxx.
+ // NB: It is very important for all of the above (and below) fields
+ // to be cleared in the systemtap_session ctor (elaborate.cxx)
+ // and/or main.cxx(main).
// command line args
std::vector<std::string> include_path;
@@ -112,6 +113,10 @@ struct systemtap_session
bool need_uprobes;
bool load_only; // flight recorder mode
+ // NB: It is very important for all of the above (and below) fields
+ // to be cleared in the systemtap_session ctor (elaborate.cxx)
+ // and/or main.cxx(main).
+
// Cache data
bool use_cache;
std::string cache_path;
@@ -128,6 +133,10 @@ struct systemtap_session
// Skip bad $ vars
bool skip_badvars;
+ // NB: It is very important for all of the above (and below) fields
+ // to be cleared in the systemtap_session ctor (elaborate.cxx)
+ // and/or main.cxx(main).
+
// temporary directory for module builds etc.
// hazardous - it is "rm -rf"'d at exit
std::string tmpdir;
@@ -172,8 +181,10 @@ struct systemtap_session
hrtimer_derived_probe_group* hrtimer_derived_probes;
perfmon_derived_probe_group* perfmon_derived_probes;
procfs_derived_probe_group* procfs_derived_probes;
+
// NB: It is very important for all of the above (and below) fields
- // to be cleared in the systemtap_session ctor (elaborate.cxx).
+ // to be cleared in the systemtap_session ctor (elaborate.cxx)
+ // and/or main.cxx(main).
// unparser data
translator_output* op;
@@ -189,6 +200,10 @@ struct systemtap_session
std::set<std::string> unwindsym_modules;
struct module_cache* module_cache;
+ // NB: It is very important for all of the above (and below) fields
+ // to be cleared in the systemtap_session ctor (elaborate.cxx)
+ // and/or main.cxx(main).
+
std::set<std::string> seen_errors;
std::set<std::string> seen_warnings;
unsigned num_errors () { return seen_errors.size(); }
@@ -200,7 +215,9 @@ struct systemtap_session
void print_error_source (std::ostream&, std::string&, const token* tok);
void print_warning (const std::string& w, const token* tok = 0);
- // reNB: new POD members likely need to be explicitly cleared in the ctor.
+ // NB: It is very important for all of the above (and below) fields
+ // to be cleared in the systemtap_session ctor (elaborate.cxx)
+ // and/or main.cxx(main).
};