From: Dave H. <hel...@us...> - 2012-07-20 14:10:46
|
Update of /cvsroot/sblim/sfcb In directory vz-cvs-3.sog:/tmp/cvs-serv1506 Modified Files: ChangeLog NEWS classProviderGz.c Log Message: Fixed 3527714: Every other EnumerateClasses fails Index: NEWS =================================================================== RCS file: /cvsroot/sblim/sfcb/NEWS,v retrieving revision 1.709 retrieving revision 1.710 diff -u -d -r1.709 -r1.710 --- NEWS 19 Jul 2012 17:21:22 -0000 1.709 +++ NEWS 20 Jul 2012 14:10:43 -0000 1.710 @@ -10,6 +10,7 @@ - 3539555 Memory leak in TestInstanceProvider - 1901737 Memory leak in internalProvider.c - 3539006 Possible indication deadlock +- 3527714 Every other EnumerateClasses fails Changes in 1.3.15 ================= Index: classProviderGz.c =================================================================== RCS file: /cvsroot/sblim/sfcb/classProviderGz.c,v retrieving revision 1.20 retrieving revision 1.21 diff -u -d -r1.20 -r1.21 --- classProviderGz.c 17 Dec 2009 20:15:48 -0000 1.20 +++ classProviderGz.c 20 Jul 2012 14:10:43 -0000 1.21 @@ -60,7 +60,7 @@ void (*release) (ClassRegister * br); ClassRegister *(*clone) (ClassRegister * br); - CMPIConstClass *(*getClass) (ClassRegister * br, const char *clsName, void **id); + CMPIConstClass *(*getClass) (ClassRegister * br, const char *clsName); int (*putClass) (ClassRegister * br, const char *className, ClassRecord * cls); void (*removeClass) (ClassRegister * br, const char *className); void (*releaseClass) (ClassRegister *br, void *id); @@ -85,7 +85,7 @@ extern Class_Register_FT *ClassRegisterFT; -static CMPIConstClass *getClass(ClassRegister * cr, const char *clsName, void **id); +static CMPIConstClass *getClass(ClassRegister * cr, const char *clsName); int traverseChildren(ClassRegister *cReg, const char *parent, const char *child); static int nsBaseLen; @@ -478,7 +478,7 @@ } -static CMPIConstClass *getClass(ClassRegister * cr, const char *clsName, void **id) +static CMPIConstClass *getClass(ClassRegister * cr, const char *clsName) { ClassRecord *crec; int r; @@ -639,7 +639,7 @@ } } } else { - CMPIConstClass *cls = getClass(cReg,cn,NULL); + CMPIConstClass *cls = getClass(cReg,cn); if (cls == NULL) { st.rc = CMPI_RC_ERR_INVALID_CLASS; } else if ((flgs & CMPI_FLAG_DeepInheritance)==0) { @@ -664,12 +664,10 @@ { UtilList *ul = getChildren(cReg,cn); char *child; - void *cid; if (ul) for (child = (char *) ul->ft->getFirst(ul); child; child = (char *) ul->ft->getNext(ul)) { - CMPIConstClass *cl = getClass(cReg,child,&cid); + CMPIConstClass *cl = getClass(cReg,child); CMReturnInstance(rslt, (CMPIInstance *) cl); - if (cid==NULL) CMRelease(cl); loopOnChildren(cReg,child,rslt); } } @@ -722,16 +720,15 @@ if(cid == NULL) CMRelease(cls); } } else { - cls = getClass(cReg,cn,NULL); + cls = getClass(cReg,cn); if (cls == NULL) { st.rc = CMPI_RC_ERR_INVALID_CLASS; } else if ((flgs & CMPI_FLAG_DeepInheritance)==0) { UtilList *ul = getChildren(cReg,cn); char *child; if (ul) for (child = (char *) ul->ft->getFirst(ul); child; child = (char *) ul->ft->getNext(ul)) { - cls = getClass(cReg,child,&cid); + cls = getClass(cReg,child); CMReturnInstance(rslt, (CMPIInstance *) cls); - if (cid==NULL) CMRelease(cls); } } else if (cn && (flgs & CMPI_FLAG_DeepInheritance)) { loopOnChildren(cReg, cn, rslt); @@ -754,7 +751,6 @@ CMPIConstClass *cl, *clLocal; ClassRegister *cReg; int rc; - void *cid; _SFCB_ENTER(TRACE_PROVIDERS, "ClassProviderGetClass"); _SFCB_TRACE(1,("--- ClassName=\"%s\"",(char *) cn->hdl)); @@ -769,7 +765,7 @@ /* Make a cloned copy of the cached results to prevent thread interference. */ - clLocal = getClass(cReg, (char *) cn->hdl,&cid); + clLocal = getClass(cReg, (char *) cn->hdl); if (clLocal) { _SFCB_TRACE(1,("--- Class found")); @@ -821,8 +817,7 @@ static int repCandidate(ClassRegister *cReg, char *cn) { - void *cid; - CMPIConstClass *cl = getClass(cReg,cn,&cid); + CMPIConstClass *cl = getClass(cReg,cn); if (isAbstract(cl)) return 0; ProviderInfo *info; @@ -836,7 +831,7 @@ if (info) _SFCB_RETURN(0); cn = (char*)cl->ft->getCharSuperClassName(cl); if (cn==NULL) break; - cl = getClass(cReg,cn,&cid); + cl = getClass(cReg,cn); } _SFCB_RETURN(1); } Index: ChangeLog =================================================================== RCS file: /cvsroot/sblim/sfcb/ChangeLog,v retrieving revision 1.794 retrieving revision 1.795 diff -u -d -r1.794 -r1.795 --- ChangeLog 19 Jul 2012 17:21:22 -0000 1.794 +++ ChangeLog 20 Jul 2012 14:10:43 -0000 1.795 @@ -1,10 +1,14 @@ +2012-07-20 Dave Heller <hel...@us...> + + * classProviderGz.c: + [ 3527714 ] Every other EnumerateClasses fails + 2012-07-19 Michael Chase-Salerno <br...@li...> * brokerUpc.c, indCIMXMLExport.c, indCIMXMLHandler.c, interopProvider.c, support.c, support.h: [ 3539006 ] Possible indication deadlock - 2012-07-10 Michael Chase-Salerno <br...@li...> * test/stageschema.sh: |