cluster-devel.redhat.com archive mirror
 help / color / mirror / Atom feed
* [Cluster-devel] conga/ricci/common File.cpp
@ 2006-10-24 21:57 kupcevic
  0 siblings, 0 replies; 2+ messages in thread
From: kupcevic @ 2006-10-24 21:57 UTC (permalink / raw)
  To: cluster-devel.redhat.com

CVSROOT:	/cvs/cluster
Module name:	conga
Branch: 	RHEL5
Changes by:	kupcevic at sourceware.org	2006-10-24 21:57:36

Modified files:
	ricci/common   : File.cpp 

Log message:
	ricci: finish bug bz211564

Patches:
http://sourceware.org/cgi-bin/cvsweb.cgi/conga/ricci/common/File.cpp.diff?cvsroot=cluster&only_with_tag=RHEL5&r1=1.1.2.1&r2=1.1.2.2

--- conga/ricci/common/File.cpp	2006/10/23 21:13:20	1.1.2.1
+++ conga/ricci/common/File.cpp	2006/10/24 21:57:36	1.1.2.2
@@ -120,6 +120,8 @@
 String 
 File::path() const
 {
+  MutexLocker l(*_mutex);
+  
   return _path;
 }
 
@@ -143,12 +145,18 @@
   
   long len = size();
   auto_ptr<char> buff(new char[len]);
-  ((fstream*) _pimpl->fs)->seekg(0, ios::beg);
-  check_failed();
-  ((fstream*) _pimpl->fs)->read(buff.get(), len);
-  ::shred(buff.get(), len);
-  check_failed();
-  return String(buff.get(), len);
+  try {
+    ((fstream*) _pimpl->fs)->seekg(0, ios::beg);
+    check_failed();
+    ((fstream*) _pimpl->fs)->read(buff.get(), len);
+    check_failed();
+    String ret(buff.get(), len);
+    ::shred(buff.get(), len);
+    return ret;
+  } catch ( ... ) {
+    ::shred(buff.get(), len);
+    throw;
+  }
 }
 
 File& 



^ permalink raw reply	[flat|nested] 2+ messages in thread
* [Cluster-devel] conga/ricci/common File.cpp
@ 2006-10-24 21:51 kupcevic
  0 siblings, 0 replies; 2+ messages in thread
From: kupcevic @ 2006-10-24 21:51 UTC (permalink / raw)
  To: cluster-devel.redhat.com

CVSROOT:	/cvs/cluster
Module name:	conga
Changes by:	kupcevic at sourceware.org	2006-10-24 21:51:05

Modified files:
	ricci/common   : File.cpp 

Log message:
	ricci: shred at wrong time

Patches:
http://sourceware.org/cgi-bin/cvsweb.cgi/conga/ricci/common/File.cpp.diff?cvsroot=cluster&r1=1.1&r2=1.2

--- conga/ricci/common/File.cpp	2006/10/23 18:43:35	1.1
+++ conga/ricci/common/File.cpp	2006/10/24 21:51:05	1.2
@@ -120,6 +120,8 @@
 String 
 File::path() const
 {
+  MutexLocker l(*_mutex);
+  
   return _path;
 }
 
@@ -143,12 +145,18 @@
   
   long len = size();
   auto_ptr<char> buff(new char[len]);
-  ((fstream*) _pimpl->fs)->seekg(0, ios::beg);
-  check_failed();
-  ((fstream*) _pimpl->fs)->read(buff.get(), len);
-  ::shred(buff.get(), len);
-  check_failed();
-  return String(buff.get(), len);
+  try {
+    ((fstream*) _pimpl->fs)->seekg(0, ios::beg);
+    check_failed();
+    ((fstream*) _pimpl->fs)->read(buff.get(), len);
+    check_failed();
+    String ret(buff.get(), len);
+    ::shred(buff.get(), len);
+    return ret;
+  } catch ( ... ) {
+    ::shred(buff.get(), len);
+    throw;
+  }
 }
 
 File& 



^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2006-10-24 21:57 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2006-10-24 21:57 [Cluster-devel] conga/ricci/common File.cpp kupcevic
  -- strict thread matches above, loose matches on Subject: below --
2006-10-24 21:51 kupcevic

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).