|
From: Narasimha S. <nsh...@us...> - 2012-04-16 16:07:21
|
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "SFCB - Small Footprint CIM Broker".
The branch, master has been updated
via 6a6bbcdd5891ff53584c10428d214d097e1a9300 (commit)
from 3f1adc4d18eff30f4829ef38e3f654c14c532185 (commit)
Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.
- Log -----------------------------------------------------------------
commit 6a6bbcdd5891ff53584c10428d214d097e1a9300
Author: Narasimha Sharoff <nsh...@us...>
Date: Mon Apr 16 09:06:02 2012 -0700
[ 3517530 ] Implement mark, release routines in CMPIBrokerMemFT
Signed-off-by: Narasimha Sharoff <nsh...@us...>
-----------------------------------------------------------------------
Summary of changes:
diff --git a/ChangeLog b/ChangeLog
index 6b84f0e..18d3534 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,8 @@
+2012-04-16 Narasimhma Sharoff <nsh...@us...>
+
+ * brokerOs.c, brokerUpc.c, native.h:
+ [ 3517530 ] Implement mark, release routines in CMPIBrokerMemFT
+
2012-04-13 Chris Buccella <buc...@li...>
* Makefile.am, cimRequest.c, httpAdapter.c, httpComm.c, providerDrv.c,
diff --git a/NEWS b/NEWS
index 3c35c75..9541a3a 100644
--- a/NEWS
+++ b/NEWS
@@ -93,6 +93,7 @@ Changes in 1.3.15
New Features:
- 3501314 Add dynamic logging and syslog output to sfcb trace
+- 3517530 Implement mark, release routines in CMPIBrokerMemFT
Bugs Fixed:
- 3514627 unsupported sfcb.cfg param - use exit call
diff --git a/brokerOs.c b/brokerOs.c
index 4749129..8d73a0b 100644
--- a/brokerOs.c
+++ b/brokerOs.c
@@ -245,6 +245,52 @@ CMPIBrokerExtFT brokerExt_FT = {
};
CMPIBrokerExtFT *CMPI_BrokerExt_Ftab = &brokerExt_FT;
+
+
+/*
+ * -----------------------------------------------
+ * CMPIBrokerMemFT -memory specific CIMOM routines
+ * ------------------------------------------------
+*/
+extern void *markHeap();
+extern void releaseHeap(void *);
+
+/* The following two are wrappers for markHeap() and releaseHeap()
+ * in support.c which allows for provider calls via broker->mft functions
+*/
+static CMPIGcStat *mark(const CMPIBroker *mb, CMPIStatus *rc)
+{
+ return((CMPIGcStat *)markHeap());
+}
+
+static CMPIStatus release(const CMPIBroker *mb, const CMPIGcStat *gc)
+{
+ CMPIStatus st = {CMPI_RC_OK, NULL};
+ releaseHeap((void *)gc);
+ return(st);
+}
+
+
+CMPIBrokerMemFT brokerMem_FT = {
+ CMPICurrentVersion,
+ mark,
+ release,
+ NULL,
+ NULL,
+ NULL,
+ NULL,
+ NULL,
+ NULL,
+ NULL,
+ NULL,
+ NULL,
+ NULL,
+ NULL,
+ NULL
+};
+
+CMPIBrokerMemFT *CMPI_BrokerMem_Ftab = &brokerMem_FT;
+
/* MODELINES */
/* DO NOT EDIT BELOW THIS COMMENT */
/* Modelines are added by 'make pretty' */
diff --git a/brokerUpc.c b/brokerUpc.c
index 8953a2c..6f50c19 100644
--- a/brokerUpc.c
+++ b/brokerUpc.c
@@ -124,7 +124,7 @@ deliverIndication(const CMPIBroker * mb, const CMPIContext *ctx,
NativeSelectExp *se = activFilters;
while (se) {
- void *hc = markHeap(); /* 3497209:78376 */
+ CMPIGcStat *hc = (void *)(mb->mft->mark(mb, &st));
/* Check for matching FROM class */
for (x=0; x<se->qs->fcNext; x++) {
if (CMClassPathIsA(mb, indop, se->qs->fClasses[x], &st)) {
@@ -132,7 +132,7 @@ deliverIndication(const CMPIBroker * mb, const CMPIContext *ctx,
break;
}
}
- releaseHeap(hc); /* 3497209:78376 - relase objs that are no longer reqd */
+ mb->mft->release(mb, hc);
if (classMatch && se->exp.ft->evaluate(&se->exp, ind, &st)) {
/*
* apply a propertyfilter in case the query is not "SELECT * FROM
@@ -1334,13 +1334,14 @@ static CMPIBrokerFT request_FT = {
CMPIBrokerFT *RequestFT = &request_FT;
extern CMPIBrokerExtFT brokerExt_FT;
+extern CMPIBrokerMemFT brokerMem_FT;
static CMPIBroker _broker = {
NULL,
&request_FT,
&native_brokerEncFT,
&brokerExt_FT,
- NULL
+ &brokerMem_FT
};
CMPIBroker *Broker = &_broker;
diff --git a/native.h b/native.h
index 342f817..ce5b443 100644
--- a/native.h
+++ b/native.h
@@ -113,6 +113,7 @@ void native_release_CMPIContext(CMPIContext *);
CMPIContext *native_clone_CMPIContext(const CMPIContext *ctx);
extern CMPIBrokerExtFT *CMPI_BrokerExt_Ftab;
+extern CMPIBrokerMemFT *CMPI_BrokerMem_Ftab;
MsgSegment setObjectPathMsgSegment(const CMPIObjectPath * op);
CMPIInstance *relocateSerializedInstance(void *area);
hooks/post-receive
--
SFCB - Small Footprint CIM Broker
|