From: Frank Ch. Eigler Date: Sun, 30 Mar 2014 12:17:23 +0000 (-0400) Subject: PR16766 cont'd: tolerate STAP_SESSION_ERROR in module_refresh callback X-Git-Tag: release-2.5~114 X-Git-Url: https://sourceware.org/git/?a=commitdiff_plain;h=7caa63eb91fdc580b37c84986ab1c3a8db07cbb2;p=systemtap.git 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. --- 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);";