From 7caa63eb91fdc580b37c84986ab1c3a8db07cbb2 Mon Sep 17 00:00:00 2001 From: "Frank Ch. Eigler" Date: Sun, 30 Mar 2014 08:17:23 -0400 Subject: [PATCH] PR16766 cont'd: tolerate STAP_SESSION_ERROR in module_refresh callback If a systemtap module is in error state (but not yet shut down via message from stapio/staprun), it may harmlessly continue receiving and processing module-notification callbacks. --- translate.cxx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/translate.cxx b/translate.cxx index 90b04d890..5cb041bc6 100644 --- a/translate.cxx +++ b/translate.cxx @@ -1885,7 +1885,7 @@ c_unparser::emit_module_refresh () /* If we're not in STARTING/RUNNING state, don't try doing any work. PR16766 */ o->newline() << "int state = atomic_read (session_state());"; - o->newline() << "if (state != STAP_SESSION_RUNNING && state != STAP_SESSION_STARTING) {"; + o->newline() << "if (state != STAP_SESSION_RUNNING && state != STAP_SESSION_STARTING && state != STAP_SESSION_ERROR) {"; // cannot _stp_warn etc. since we're not in probe context o->newline(1) << "#if defined(__KERNEL__)"; o->newline() << "printk (KERN_ERR \"stap module notifier triggered in unexpected state %d\", state);"; -- 2.43.5