From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 27374 invoked by alias); 21 May 2009 14:29:04 -0000 Received: (qmail 27299 invoked by alias); 21 May 2009 14:29:04 -0000 X-SWARE-Spam-Status: No, hits=-2.0 required=5.0 tests=AWL,BAYES_00,SPF_HELO_PASS X-Spam-Status: No, hits=-2.0 required=5.0 tests=AWL,BAYES_00,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: RHEL5 - rgmanager: randomize state dump file name To: cluster-cvs-relay@redhat.com X-Project: Cluster Project X-Git-Module: cluster.git X-Git-Refname: refs/heads/RHEL5 X-Git-Reftype: branch X-Git-Oldrev: 210681e5612703a5b9f3e578db31e234cf58cb6d X-Git-Newrev: 5bf3964b3bebc418bbe970c55aabcfc7e5e57dba From: Lon Hohberger Message-Id: <20090521142824.C282C120298@lists.fedorahosted.org> Date: Thu, 21 May 2009 14:29: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/msg00360.txt.bz2 Gitweb: http://git.fedorahosted.org/git/cluster.git?p=cluster.git;a=commitdiff;h=5bf3964b3bebc418bbe970c55aabcfc7e5e57dba Commit: 5bf3964b3bebc418bbe970c55aabcfc7e5e57dba Parent: 210681e5612703a5b9f3e578db31e234cf58cb6d Author: Lon Hohberger AuthorDate: Thu May 21 09:59:17 2009 -0400 Committer: Lon Hohberger CommitterDate: Thu May 21 10:27:58 2009 -0400 rgmanager: randomize state dump file name --- rgmanager/src/daemons/main.c | 15 +++++++++++---- 1 files changed, 11 insertions(+), 4 deletions(-) diff --git a/rgmanager/src/daemons/main.c b/rgmanager/src/daemons/main.c index e23f8ef..94de2d3 100644 --- a/rgmanager/src/daemons/main.c +++ b/rgmanager/src/daemons/main.c @@ -694,10 +694,11 @@ void dump_vf_states(FILE *fp); void dump_cluster_ctx(FILE *fp); void -dump_internal_state(char *loc) +dump_internal_state(int fd) { FILE *fp; - fp=fopen(loc, "w+"); + + fp=fdopen(fd, "w+"); dump_config_version(fp); dump_threads(fp); dump_vf_states(fp); @@ -716,14 +717,20 @@ event_loop(msgctx_t *localctx, msgctx_t *clusterctx) msgctx_t *newctx; struct timeval tv; int nodeid; + char template[128] = "/tmp/rgmanager-dump.XXXXXX"; + int temp_fd = -1; tv.tv_sec = status_poll_interval; tv.tv_usec = 0; if (signalled) { signalled = 0; - - dump_internal_state("/tmp/rgmanager-dump"); + + temp_fd = mkstemp(template); + if (temp_fd >= 0) { + dump_internal_state(temp_fd); + close(temp_fd); + } } while (running && (tv.tv_sec || tv.tv_usec)) {