From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 2043 invoked by alias); 22 Jun 2009 18:23:47 -0000 Received: (qmail 2037 invoked by alias); 22 Jun 2009 18:23:47 -0000 X-SWARE-Spam-Status: No, hits=-1.8 required=5.0 tests=AWL,BAYES_00,J_CHICKENPOX_57,SPF_HELO_PASS X-Spam-Status: No, hits=-1.8 required=5.0 tests=AWL,BAYES_00,J_CHICKENPOX_57,SPF_HELO_PASS X-Spam-Check-By: sourceware.org X-Spam-Checker-Version: SpamAssassin 3.2.5 (2008-06-10) on bastion2.fedora.phx.redhat.com Subject: cluster: RHEL4 - rgmanager: Fix stack overflows on stress testing To: cluster-cvs-relay@redhat.com X-Project: Cluster Project X-Git-Module: cluster.git X-Git-Refname: refs/heads/RHEL4 X-Git-Reftype: branch X-Git-Oldrev: 175f79e2ad1bac0bdb233eae32f55b8010973813 X-Git-Newrev: 6b4e6f18cfa7a03b1ee1008a019aad077e3954fc From: Lon Hohberger Message-Id: <20090622182321.080141201D4@lists.fedorahosted.org> Date: Mon, 22 Jun 2009 18:23:00 -0000 X-Scanned-By: MIMEDefang 2.58 on 172.16.52.254 Mailing-List: contact cluster-cvs-help@sourceware.org; run by ezmlm Precedence: bulk List-Id: List-Subscribe: List-Post: List-Help: , Sender: cluster-cvs-owner@sourceware.org X-SW-Source: 2009-q2/txt/msg00670.txt.bz2 Gitweb: http://git.fedorahosted.org/git/cluster.git?p=cluster.git;a=commitdiff;h=6b4e6f18cfa7a03b1ee1008a019aad077e3954fc Commit: 6b4e6f18cfa7a03b1ee1008a019aad077e3954fc Parent: 175f79e2ad1bac0bdb233eae32f55b8010973813 Author: Lon Hohberger AuthorDate: Fri Jun 19 18:20:46 2009 -0400 Committer: Lon Hohberger CommitterDate: Mon Jun 22 14:10:41 2009 -0400 rgmanager: Fix stack overflows on stress testing S/Lang requires you to eat all the values on the stack if not assigned, or you can discard all values, but you can't take 2/5 without explicitly discarding the other three. Signed-off-by: Lon Hohberger --- rgmanager/src/resources/default_event_script.sl | 11 ++++++----- 1 files changed, 6 insertions(+), 5 deletions(-) diff --git a/rgmanager/src/resources/default_event_script.sl b/rgmanager/src/resources/default_event_script.sl index cecc1f6..35e0964 100644 --- a/rgmanager/src/resources/default_event_script.sl +++ b/rgmanager/src/resources/default_event_script.sl @@ -11,6 +11,7 @@ define node_in_set(node_list, node) return 0; } + define move_or_start(service, node_list) { variable len; @@ -19,14 +20,14 @@ define move_or_start(service, node_list) depends = service_property(service, "depend"); if (depends != "") { - (owner, state) = service_status(depends); + (,,, owner, state) = service_status(depends); if (owner < 0) { debug(service, " is not runnable; dependency not met"); return ERR_DEPEND; } } - (owner, state) = service_status(service); + (,,, owner, state) = service_status(service); debug("Evaluating ", service, " state=", state, " owner=", owner); len = length(node_list); @@ -86,7 +87,7 @@ define allowed_nodes(service) (nofailback, restricted, ordered, nodes_domain) = service_domain_info(service); - (owner, state) = service_status(service); + (,,, owner, state) = service_status(service); anodes = nodes_online(); @@ -199,7 +200,7 @@ define default_service_event_handler() continue; } - (owner, state) = service_status(services[x]); + (,,, owner, state) = service_status(services[x]); if ((service_state == "started") and (owner < 0) and (state == "stopped")) { info("Dependency met; starting ", services[x]); @@ -232,7 +233,7 @@ define default_user_event_handler() variable owner, state; nodes = allowed_nodes(service_name); - (owner, state) = service_status(service_name); + (,,, owner, state) = service_status(service_name); if (user_request == USER_RESTART) {