version 1.82, 2006/06/20 17:12:39
|
version 1.83, 2006/07/11 18:39:35
|
|
|
{ | { |
request->op->processing(); | request->op->processing(); |
| |
_incomingQueue.enqueue(request->op); |
_incomingQueue.insert_back(request->op); |
ThreadStatus rtn = PEGASUS_THREAD_OK; | ThreadStatus rtn = PEGASUS_THREAD_OK; |
while (( rtn =_thread_pool->allocate_and_awaken( | while (( rtn =_thread_pool->allocate_and_awaken( |
(void *)this, ProviderManagerService::handleCimOperation)) != PEGASUS_THREAD_OK) | (void *)this, ProviderManagerService::handleCimOperation)) != PEGASUS_THREAD_OK) |
|
|
return(PEGASUS_THREAD_RETURN(1)); | return(PEGASUS_THREAD_RETURN(1)); |
} | } |
| |
AsyncOpNode* op = service->_incomingQueue.dequeue(); |
AsyncOpNode* op = service->_incomingQueue.remove_front(); |
| |
if ((op == 0) || (op->_request.count() == 0)) |
if ((op == 0) || (op->_request.size() == 0)) |
{ | { |
// ATTN: This may dereference a null pointer! | // ATTN: This may dereference a null pointer! |
MessageQueue* queue = MessageQueue::lookup(op->_source_queue); | MessageQueue* queue = MessageQueue::lookup(op->_source_queue); |
|
|
} | } |
| |
AsyncRequest* request = | AsyncRequest* request = |
static_cast<AsyncRequest*>(op->_request.next(0)); |
static_cast<AsyncRequest*>(op->_request.front()); |
| |
if ((request == 0) || | if ((request == 0) || |
(request->getType() != async_messages::ASYNC_LEGACY_OP_START)) | (request->getType() != async_messages::ASYNC_LEGACY_OP_START)) |
|
|
PEGASUS_ASSERT(request != 0); | PEGASUS_ASSERT(request != 0); |
| |
// get request from op node | // get request from op node |
AsyncRequest * async = static_cast<AsyncRequest *>(op->_request.next(0)); |
AsyncRequest * async = static_cast<AsyncRequest *>(op->_request.front()); |
PEGASUS_ASSERT(async != 0); | PEGASUS_ASSERT(async != 0); |
| |
Message * response = 0; | Message * response = 0; |