rpms/tog-pegasus/FC-5 pegasus-2.5.1-obz5073.patch, NONE, 1.1 pegasus-2.5.1-obz5090.patch, NONE, 1.1 pegasus-2.5.1-obz5115.patch, NONE, 1.1 pegasus-2.5.1-obz5119.patch, NONE, 1.1 pegasus-2.5.1-obz5180.patch, NONE, 1.1 tog-pegasus.spec, 1.29, 1.30
fedora-cvs-commits at redhat.com
fedora-cvs-commits at redhat.com
Sat Jul 8 00:08:03 UTC 2006
- Previous message (by thread): rpms/tog-pegasus/devel pegasus-2.5.1-obz5073.patch, NONE, 1.1 pegasus-2.5.1-obz5090.patch, NONE, 1.1 pegasus-2.5.1-obz5180.patch, NONE, 1.1 tog-pegasus.spec, 1.36, 1.37
- Next message (by thread): rpms/freetype/devel freetype-2.2.1-enable-valid.patch, NONE, 1.1 .cvsignore, 1.11, 1.12 freetype.spec, 1.29, 1.30 sources, 1.11, 1.12 freetype-1.4-ac25.patch, 1.1, NONE freetype-1.4-disable-ft1-bci.patch, 1.2, NONE freetype-1.4-gcc33.patch, 1.1, NONE freetype-2.1.10-cvsfixes.patch, 1.1, NONE freetype-2.1.10-fixaliasing.patch, 1.1, NONE freetype-2.1.10-fixautofit.patch, 1.1, NONE freetype-2.1.10-fixkerning.patch, 1.1, NONE freetype-2.1.10-memleak.patch, 1.1, NONE freetype-2.1.10-xorgfix.patch, 1.1, NONE freetype-2.1.3-enable-ft2-bci.patch, 1.1, NONE freetype-2.1.9-lib64-fix.patch, 1.1, NONE
- Messages sorted by:
[ date ]
[ thread ]
[ subject ]
[ author ]
Author: jvdias
Update of /cvs/dist/rpms/tog-pegasus/FC-5
In directory cvs.devel.redhat.com:/tmp/cvs-serv13866
Modified Files:
tog-pegasus.spec
Added Files:
pegasus-2.5.1-obz5073.patch pegasus-2.5.1-obz5090.patch
pegasus-2.5.1-obz5115.patch pegasus-2.5.1-obz5119.patch
pegasus-2.5.1-obz5180.patch
Log Message:
apply upstream bug fixes: 5073, 5090, 5115, 5119, 5180
pegasus-2.5.1-obz5073.patch:
AssocClassCache.cpp | 24 ++++++++++++++++++------
AssocClassCache.h | 10 +++++-----
AssocClassTable.cpp | 14 --------------
3 files changed, 23 insertions(+), 25 deletions(-)
--- NEW FILE pegasus-2.5.1-obz5073.patch ---
--- pegasus/src/Pegasus/Repository/AssocClassTable.cpp.obz5073 2006-01-30 11:18:20.000000000 -0500
+++ pegasus/src/Pegasus/Repository/AssocClassTable.cpp 2006-06-12 13:13:18.000000000 -0400
@@ -218,10 +218,6 @@
fields.append(toClassName.getString());
fields.append(toPropertyName.getString());
- for (Uint16 x=0; x<fields.size();x++)
- {
- fields[x].toLower();
- }
_PutRecord(os, fields);
@@ -263,10 +259,6 @@
fields.append(toClassName.getString());
fields.append(toPropertyName.getString());
- for (Uint16 x=0; x<fields.size();x++)
- {
- fields[x].toLower();
- }
_PutRecord(os, fields);
@@ -428,11 +420,6 @@
// For each line in the associations table:
while (_GetRecord(is, fields))
{
- // The cache key is always expected to be in lowercase
- // While new association records are added in lowercase,
- // the following line is required for compatibility
- // with old repositories.
- fields[FROM_CLASS_NAME_INDEX].toLower();
cache->addRecord(fields[FROM_CLASS_NAME_INDEX],
fields);
}
@@ -483,7 +470,6 @@
for (Uint16 idx=0; idx < classList.size(); idx++)
{
String fromClassName = classList[idx].getString();
- fromClassName.toLower();
if (cache->getAssocClassEntry(fromClassName, records))
{
for (Uint16 rx=0; rx <records.size(); rx++)
--- pegasus/src/Pegasus/Repository/AssocClassCache.h.obz5073 2006-01-30 11:18:20.000000000 -0500
+++ pegasus/src/Pegasus/Repository/AssocClassCache.h 2006-06-12 13:13:18.000000000 -0400
@@ -63,24 +63,24 @@
/** Retrieve an entry for an association class through direct
* access via the from class name.
*/
- Boolean getAssocClassEntry(const String& lowerCaseFromClassName,
+ Boolean getAssocClassEntry(const String& fromClassName,
Array< Array<String> >& entryList);
/** Add a new entry to the association cache.
*/
- Boolean addRecord(const String& lowerCaseFromClassName,
+ Boolean addRecord(const String& fromClassName,
Array<String> assocClassEntry);
/** Remove an entry from the association cache specified by the given
* association class name.
*/
- Boolean removeEntry(const String& lowerCaseFromClassName);
+ Boolean removeEntry(const String& fromClassName);
/** Remove an association record from the association cache specified by the given
* from class name and association name.
*/
- Boolean removeRecord(const String& lowerCaseFromClassName,
- const String& lowerCaseAssocClassName);
+ Boolean removeRecord(const String& fromClassName,
+ const String& assocClassName);
/** Check if the cache is loaded with objects already.
*/
--- pegasus/src/Pegasus/Repository/AssocClassCache.cpp.obz5073 2006-01-30 11:18:20.000000000 -0500
+++ pegasus/src/Pegasus/Repository/AssocClassCache.cpp 2006-06-12 13:13:18.000000000 -0400
@@ -86,9 +86,12 @@
/** Retrieve the list of entries for a from class through direct
* access via the from class name.
*/
-Boolean AssocClassCache::getAssocClassEntry(const String& lowerCaseFromClassName,
+Boolean AssocClassCache::getAssocClassEntry(const String& fromClassName,
Array< Array<String> >& entryList)
{
+ String lowerCaseFromClassName = fromClassName;
+ lowerCaseFromClassName.toLower();
+
return _assocClassCache->lookup(lowerCaseFromClassName,entryList);
}
@@ -97,10 +100,12 @@
* the new entry is appended to the old entry. Otherwise a new entry
* is added to the cache.
*/
-Boolean AssocClassCache::addRecord(const String& lowerCaseFromClassName,
+Boolean AssocClassCache::addRecord(const String& fromClassName,
Array<String> assocClassRecord)
{
Array< Array<String> > oldAssocClassEntryList;
+ String lowerCaseFromClassName = fromClassName;
+ lowerCaseFromClassName.toLower();
if (_assocClassCache->lookup(lowerCaseFromClassName, oldAssocClassEntryList))
{
@@ -115,18 +120,24 @@
/** Remove an entry from the association cache specified by the given
* from class name.
*/
-Boolean AssocClassCache::removeEntry(const String& lowerCaseFromClassName)
+Boolean AssocClassCache::removeEntry(const String& fromClassName)
{
+ String lowerCaseFromClassName = fromClassName;
+ lowerCaseFromClassName.toLower();
+
return _assocClassCache->remove(lowerCaseFromClassName);
}
/** Remove an association record from the association cache specified by the given
* from class name and association name.
*/
-Boolean AssocClassCache::removeRecord(const String& lowerCaseFromClassName,
- const String& lowerCaseAssocClassName)
+Boolean AssocClassCache::removeRecord(const String& fromClassName,
+ const String& assocClassName)
{
Array< Array<String> > oldAssocClassEntryList;
+ String lowerCaseFromClassName = fromClassName;
+ lowerCaseFromClassName.toLower();
+
if (_assocClassCache->lookup(lowerCaseFromClassName, oldAssocClassEntryList))
{
for (Uint16 idx=0; idx < oldAssocClassEntryList.size(); idx++ )
@@ -134,7 +145,8 @@
// The first entry in each record is the association class
// name. Find the record for the association class and remove
// it from the cache entry.
- if (oldAssocClassEntryList[idx][ASSOC_CLASS_NAME_INDEX] == lowerCaseAssocClassName)
+ if (String::equalNoCase(oldAssocClassEntryList[idx][ASSOC_CLASS_NAME_INDEX],
+ assocClassName))
{
_assocClassCache->remove(lowerCaseFromClassName);
if (oldAssocClassEntryList.size() > 1)
pegasus-2.5.1-obz5090.patch:
CMPIProvider.cpp | 28 +++++++++++++++-------------
1 files changed, 15 insertions(+), 13 deletions(-)
--- NEW FILE pegasus-2.5.1-obz5090.patch ---
--- pegasus/src/Pegasus/ProviderManager2/CMPI/CMPIProvider.cpp.obz5090 2006-01-30 11:18:04.000000000 -0500
+++ pegasus/src/Pegasus/ProviderManager2/CMPI/CMPIProvider.cpp 2006-07-07 18:20:48.000000000 -0400
@@ -297,19 +297,6 @@
*/
void CMPIProvider::_terminate(Boolean terminating)
{
- {
- WriteLock writeLock (broker.rwsemClassCache);
-
- if (broker.clsCache) {
- ClassCache::Iterator i=broker.clsCache->start();
- for (; i; i++) {
- delete i.value();
- }
- delete broker.clsCache;
- broker.clsCache=NULL;
- }
- }
-
const OperationContext opc;
CMPIStatus rc={CMPI_RC_OK,NULL};
CMPI_ContextOnStack eCtx(opc);
@@ -350,8 +337,23 @@
if (rc.rc==CMPI_RC_ERR_NOT_SUPPORTED) noUnload=true;
if ((rc.rc == CMPI_RC_DO_NOT_UNLOAD) || (rc.rc==CMPI_RC_NEVER_UNLOAD)) noUnload =true;
}
+
if (noUnload == false)
{
+ // Cleanup the class cache
+ {
+ WriteLock writeLock (broker.rwsemClassCache);
+
+ if (broker.clsCache) {
+ ClassCache::Iterator i=broker.clsCache->start();
+ for (; i; i++) {
+ delete i.value();
+ }
+ delete broker.clsCache;
+ broker.clsCache=NULL;
+ }
+ }
+
// Check the thread list to make sure the thread has been de-allocated
if (_threadWatchList.size() != 0)
{
pegasus-2.5.1-obz5115.patch:
SetConfig_EnvVar | 60 +++++++++++++++++++++++++++----------------------------
1 files changed, 30 insertions(+), 30 deletions(-)
--- NEW FILE pegasus-2.5.1-obz5115.patch ---
--- pegasus/SetConfig_EnvVar.obz5115 2006-01-30 11:16:16.000000000 -0500
+++ pegasus/SetConfig_EnvVar 2006-06-07 15:06:18.000000000 -0400
@@ -1,34 +1,34 @@
#!/usr/bin/perl
-//%2006////////////////////////////////////////////////////////////////////////
-//
-// Copyright (c) 2000, 2001, 2002 BMC Software; Hewlett-Packard Development
-// Company, L.P.; IBM Corp.; The Open Group; Tivoli Systems.
-// Copyright (c) 2003 BMC Software; Hewlett-Packard Development Company, L.P.;
-// IBM Corp.; EMC Corporation, The Open Group.
-// Copyright (c) 2004 BMC Software; Hewlett-Packard Development Company, L.P.;
-// IBM Corp.; EMC Corporation; VERITAS Software Corporation; The Open Group.
-// Copyright (c) 2005 Hewlett-Packard Development Company, L.P.; IBM Corp.;
-// EMC Corporation; VERITAS Software Corporation; The Open Group.
-// Copyright (c) 2006 Hewlett-Packard Development Company, L.P.; IBM Corp.;
-// EMC Corporation; Symantec Corporation; The Open Group.
-//
-// Permission is hereby granted, free of charge, to any person obtaining a copy
-// of this software and associated documentation files (the "Software"), to
-// deal in the Software without restriction, including without limitation the
-// rights to use, copy, modify, merge, publish, distribute, sublicense, and/or
-// sell copies of the Software, and to permit persons to whom the Software is
-// furnished to do so, subject to the following conditions:
-//
-// THE ABOVE COPYRIGHT NOTICE AND THIS PERMISSION NOTICE SHALL BE INCLUDED IN
-// ALL COPIES OR SUBSTANTIAL PORTIONS OF THE SOFTWARE. THE SOFTWARE IS PROVIDED
-// "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT
-// LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR
-// PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
-// HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN
-// ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
-// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-//
-//================================================================================
+#//%2006////////////////////////////////////////////////////////////////////////
+#//
+#// Copyright (c) 2000, 2001, 2002 BMC Software; Hewlett-Packard Development
+#// Company, L.P.; IBM Corp.; The Open Group; Tivoli Systems.
+#// Copyright (c) 2003 BMC Software; Hewlett-Packard Development Company, L.P.;
+#// IBM Corp.; EMC Corporation, The Open Group.
+#// Copyright (c) 2004 BMC Software; Hewlett-Packard Development Company, L.P.;
+#// IBM Corp.; EMC Corporation; VERITAS Software Corporation; The Open Group.
+#// Copyright (c) 2005 Hewlett-Packard Development Company, L.P.; IBM Corp.;
+#// EMC Corporation; VERITAS Software Corporation; The Open Group.
+#// Copyright (c) 2006 Hewlett-Packard Development Company, L.P.; IBM Corp.;
+#// EMC Corporation; Symantec Corporation; The Open Group.
+#//
+#// Permission is hereby granted, free of charge, to any person obtaining a copy
+#// of this software and associated documentation files (the "Software"), to
+#// deal in the Software without restriction, including without limitation the
+#// rights to use, copy, modify, merge, publish, distribute, sublicense, and/or
+#// sell copies of the Software, and to permit persons to whom the Software is
+#// furnished to do so, subject to the following conditions:
+#//
+#// THE ABOVE COPYRIGHT NOTICE AND THIS PERMISSION NOTICE SHALL BE INCLUDED IN
+#// ALL COPIES OR SUBSTANTIAL PORTIONS OF THE SOFTWARE. THE SOFTWARE IS PROVIDED
+#// "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT
+#// LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR
+#// PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
+#// HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN
+#// ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
+#// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+#//
+#//================================================================================
use strict;
#use warnings;
my $HELP_FILE = "SetConfig_EnvVar.help";
pegasus-2.5.1-obz5119.patch:
CmpiImpl.cpp | 6 +++---
1 files changed, 3 insertions(+), 3 deletions(-)
--- NEW FILE pegasus-2.5.1-obz5119.patch ---
--- pegasus/src/Pegasus/Provider/CMPI/CmpiImpl.cpp.obz5119 2006-01-30 11:18:00.000000000 -0500
+++ pegasus/src/Pegasus/Provider/CMPI/CmpiImpl.cpp 2006-06-07 15:13:01.000000000 -0400
@@ -1197,7 +1197,7 @@
else
throw CmpiStatus(rc.rc,name->charPtr());
}
- if (name) *name=*(new CmpiString(s));
+ if (name) *name= CmpiString(s);
return d;
};
@@ -1386,7 +1386,7 @@
CMPIString *s;
d._data=getEnc()->ft->getKeyAt(getEnc(),(int)pos,&s,&rc);
if (rc.rc!=CMPI_RC_OK) throw CmpiStatus(rc);
- if (name) *name=*(new CmpiString(s));
+ if (name) *name= CmpiString(s);
return d;
}
@@ -1710,7 +1710,7 @@
else
throw CmpiStatus(rc.rc,name->charPtr());
}
- if (name) *name=*(new CmpiString(s));
+ if (name) *name= CmpiString(s);
return d;
}
pegasus-2.5.1-obz5180.patch:
CIMOperationRequestDispatcher.cpp | 26 ++++++++++++++++++--------
CIMOperationRequestDispatcher.h | 2 ++
2 files changed, 20 insertions(+), 8 deletions(-)
--- NEW FILE pegasus-2.5.1-obz5180.patch ---
--- pegasus/src/Pegasus/Server/CIMOperationRequestDispatcher.cpp.obz5180 2006-07-07 18:19:11.000000000 -0400
+++ pegasus/src/Pegasus/Server/CIMOperationRequestDispatcher.cpp 2006-07-07 19:03:51.000000000 -0400
@@ -421,7 +421,18 @@
CIMResponseMessage *&response)
{
static const char func[] = "CIMOperationRequestDispatcher::_enqueueResponse";
- AutoMutex autoMut(_mut);
+ // Obtain the _enqueueResponseMutex mutex for this chunked request.
+ // This mutex is used to serialize chunked responses from all incoming
+ // provider threads. It is imperative that the sequencing done by the
+ // resequenceResponse() method and the writing of the chunked response
+ // to the connection socket (done as a synchronous enqueue at the end
+ // of this method) are atomic to ensure that the chunk that is marked
+ // as isComplete for the overall response is indeed the last chunk
+ // returned to the client. See PEP 140 for details.
+ // This mutex was moved into the OperationAggregate class as part of
+ // bug 4629 because we only need to serialize on a per-request basis.
+ // This prevents serializing independent requests on separate connections.
+ AutoMutex autoMut(poA->_enqueueResponseMutex);
Boolean isComplete = false;
try
@@ -550,13 +561,6 @@
CIMException(CIM_ERR_FAILED, String(failMsg));
}
- if (isComplete == true)
- {
- // also deletes the copied request attached to it
- delete poA;
- poA = 0;
- }
-
// after sending, the response has been deleted externally
response = 0;
@@ -1785,6 +1789,12 @@
// the ENTIRE response to the request.
isComplete = service->_enqueueResponse(poA, response);
+ if (isComplete)
+ {
+ // also deletes the copied request attached to it
+ delete poA;
+ poA = 0;
+ }
PEG_METHOD_EXIT();
}
--- pegasus/src/Pegasus/Server/CIMOperationRequestDispatcher.h.obz5180 2006-02-10 14:13:47.000000000 -0500
+++ pegasus/src/Pegasus/Server/CIMOperationRequestDispatcher.h 2006-07-07 19:00:43.000000000 -0400
@@ -159,6 +159,7 @@
*/
class PEGASUS_SERVER_LINKAGE OperationAggregate
{
+ friend class CIMOperationRequestDispatcher;
public:
/* Operation Aggregate constructor. Builds an aggregate
object.
@@ -227,6 +228,7 @@
Array<CIMResponseMessage*> _responseList;
Mutex _appendResponseMutex;
+ Mutex _enqueueResponseMutex;
CIMRequestMessage* _request;
Uint32 _totalIssued;
Uint32 _magicNumber;
Index: tog-pegasus.spec
===================================================================
RCS file: /cvs/dist/rpms/tog-pegasus/FC-5/tog-pegasus.spec,v
retrieving revision 1.29
retrieving revision 1.30
diff -u -r1.29 -r1.30
--- tog-pegasus.spec 31 May 2006 19:12:39 -0000 1.29
+++ tog-pegasus.spec 8 Jul 2006 00:08:01 -0000 1.30
@@ -31,7 +31,7 @@
%define pegasus_uid 66
Version: 2.5.1
-Release: 5%{?LINUX_VERSION:.%{LINUX_VERSION}}
+Release: 6%{?LINUX_VERSION:.%{LINUX_VERSION}}
Epoch: 2
#
Summary: OpenPegasus WBEM Services for Linux
@@ -81,6 +81,11 @@
Patch30: pegasus-2.5.1-obz5059.patch
Patch31: pegasus-2.5.1-obz5072.patch
Patch32: pegasus-2.5.1-obz5083.patch
+Patch33: pegasus-2.5.1-obz5115.patch
+Patch34: pegasus-2.5.1-obz5119.patch
+Patch35: pegasus-2.5.1-obz5073.patch
+Patch36: pegasus-2.5.1-obz5090.patch
+Patch37: pegasus-2.5.1-obz5180.patch
#
Conflicts: openwbem
Provides: tog-pegasus-cimserver
@@ -169,6 +174,11 @@
%patch30 -p1 -b .obz5059
%patch31 -p1 -b .obz5072
%patch32 -p1 -b .obz5083
+%patch33 -p1 -b .obz5115
+%patch34 -p1 -b .obz5119
+%patch35 -p1 -b .obz5073
+%patch36 -p1 -b .obz5090
+%patch37 -p1 -b .obz5180
%build
rm -rf ${RPM_BUILD_ROOT} || :;
@@ -308,7 +318,16 @@
:;
%changelog
-* Wed May 31 2006 JAson Vas Dias <jvdias at redhat.com> - 2:2.5.1-6
+* Fri Jul 07 2006 Jason Vas Dias <jvdias at redhat.com> - 2:2.4.1-6
+- More upstream 2.5.2_APPROVED bug fixes:
+ o 4629: Pegasus freezes when it is unable to send out completely, the results of a request
+ o 5073: Class Names on Reference, ReferenceNames, Assoc, AssocNames returned lower case
+ o 5090: cimserver crash on a request after attempting to unload idle CMPI providers
+ o 5119: memory leak in CMPI implementation
+ o 5115: fix SetConfig_EnvVar comments
+ o 5180: OperationAggregate deleted in _enqueueResponse while member mutex held
+
+* Wed May 31 2006 JAson Vas Dias <jvdias at redhat.com> - 2:2.5.1-5
- Apply upstream patches for latest 2.5.2_APPROVED bugs:
o 5046: cimprovider timeout needs to be increased
o 5047: cimmof timeout needs to be increased
- Previous message (by thread): rpms/tog-pegasus/devel pegasus-2.5.1-obz5073.patch, NONE, 1.1 pegasus-2.5.1-obz5090.patch, NONE, 1.1 pegasus-2.5.1-obz5180.patch, NONE, 1.1 tog-pegasus.spec, 1.36, 1.37
- Next message (by thread): rpms/freetype/devel freetype-2.2.1-enable-valid.patch, NONE, 1.1 .cvsignore, 1.11, 1.12 freetype.spec, 1.29, 1.30 sources, 1.11, 1.12 freetype-1.4-ac25.patch, 1.1, NONE freetype-1.4-disable-ft1-bci.patch, 1.2, NONE freetype-1.4-gcc33.patch, 1.1, NONE freetype-2.1.10-cvsfixes.patch, 1.1, NONE freetype-2.1.10-fixaliasing.patch, 1.1, NONE freetype-2.1.10-fixautofit.patch, 1.1, NONE freetype-2.1.10-fixkerning.patch, 1.1, NONE freetype-2.1.10-memleak.patch, 1.1, NONE freetype-2.1.10-xorgfix.patch, 1.1, NONE freetype-2.1.3-enable-ft2-bci.patch, 1.1, NONE freetype-2.1.9-lib64-fix.patch, 1.1, NONE
- Messages sorted by:
[ date ]
[ thread ]
[ subject ]
[ author ]
More information about the fedora-cvs-commits
mailing list