[Cluster-devel] conga/ricci/common File.cpp
kupcevic at sourceware.org
kupcevic at sourceware.org
Tue Oct 24 21:57:36 UTC 2006
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&
More information about the Cluster-devel
mailing list