[PATCH] LOCK: Reduce the scope of the mib lock in several places.
Dominik Vogt
dominik.vogt at external.thalesgroup.com
Tue Aug 17 12:49:47 CEST 2010
---
src/mib.cpp | 18 +++++++++---------
1 files changed, 9 insertions(+), 9 deletions(-)
diff --git a/src/mib.cpp b/src/mib.cpp
index f0576bc..f70621b 100644
--- a/src/mib.cpp
+++ b/src/mib.cpp
@@ -2826,8 +2826,8 @@ MibEntry* Mib::add(MibEntry* item)
MibEntry* Mib::add(const OctetStr& context, MibEntry* item)
{
- lock_mib();
Oidx contextKey(Oidx::from_string(context));
+ lock_mib();
MibContext* c = contexts.find(&contextKey);
if (!c) {
c = contexts.add(new MibContext(context));
@@ -2839,8 +2839,8 @@ MibEntry* Mib::add(const OctetStr& context, MibEntry* item)
MibContext* Mib::add_context(const OctetStr& context)
{
- lock_mib();
Oidx contextKey(Oidx::from_string(context));
+ lock_mib();
MibContext* c = contexts.find(&contextKey);
if (!c) {
c = contexts.add(new MibContext(context));
@@ -2851,8 +2851,8 @@ MibContext* Mib::add_context(const OctetStr& context)
void Mib::remove_context(const OctetStr& context)
{
- lock_mib();
Oidx contextKey(Oidx::from_string(context));
+ lock_mib();
contexts.remove(&contextKey);
unlock_mib();
}
@@ -2966,8 +2966,8 @@ boolean Mib::init()
}
#endif
if (is_persistency_activated()) {
- lock_mib();
OidListCursor<MibContext> cur;
+ lock_mib();
for (cur.init(&contexts); cur.get(); cur.next()) {
cur.get()->init_from(get_persistent_objects_path());
}
@@ -2979,8 +2979,8 @@ boolean Mib::init()
void Mib::save_all()
{
if (is_persistency_activated()) {
- lock_mib();
OidListCursor<MibContext> cur;
+ lock_mib();
for (cur.init(&contexts); cur.get(); cur.next()) {
cur.get()->save_to(get_persistent_objects_path());
}
@@ -2992,9 +2992,9 @@ boolean Mib::save(unsigned int format, const OctetStr& path)
{
MibConfigFormat* f = configFormats.getNth(format-1);
if (f) {
- lock_mib();
boolean ok = TRUE;
OidListCursor<MibContext> cur;
+ lock_mib();
for (cur.init(&contexts); cur.get(); cur.next()) {
ok = f->save(cur.get(), path) && ok;
}
@@ -3019,9 +3019,9 @@ boolean Mib::load(unsigned int format, const NS_SNMP OctetStr& path)
{
MibConfigFormat* f = configFormats.getNth(format-1);
if (f) {
- lock_mib();
boolean ok = TRUE;
OidListCursor<MibContext> cur;
+ lock_mib();
for (cur.init(&contexts); cur.get(); cur.next()) {
ok = f->load(cur.get(), path) && ok;
}
@@ -3259,8 +3259,8 @@ boolean Mib::process_request(Request* req, int reqind)
MibEntryPtr entry;
Oidx tmpoid(req->get_oid(reqind));
- lock_mib();
int err;
+ lock_mib();
// entry not available
#ifndef _SNMPv3
if ((err = find_managing_object(defaultContext,
@@ -4047,8 +4047,8 @@ void Mib::process_get_bulk_request(Request* req)
void Mib::cleanup()
{
- lock_mib();
OidListCursor<MibContext> cur;
+ lock_mib();
for (cur.init(&contexts); cur.get(); cur.next()) {
cur.get()->start_synch();
OidListCursor<MibEntry> c(cur.get()->get_content());
--
1.5.5.6
--7JfCtLOvnd9MIVvH
Content-Type: text/plain; charset="us-ascii"
Content-Disposition: attachment;
filename="0003-LOCK-Move-mib-lock-implementation-to-header-inline.patch"
More information about the AGENTPP
mailing list