(file) Return to MessageQueueService.cpp CVS log (file) (dir) Up to [Pegasus] / pegasus / src / Pegasus / Common

Diff for /pegasus/src/Pegasus/Common/MessageQueueService.cpp between version 1.8 and 1.9

version 1.8, 2002/02/04 02:52:06 version 1.9, 2002/02/04 17:37:56
Line 68 
Line 68 
 void MessageQueueService::_shutdown_incoming_queue(void) void MessageQueueService::_shutdown_incoming_queue(void)
 { {
  
      if (_incoming_queue_shutdown.value() > 0 )
         return ;
   
    AsyncIoctl *msg = new AsyncIoctl(get_next_xid(),    AsyncIoctl *msg = new AsyncIoctl(get_next_xid(),
                                     0,                                     0,
                                     _queueId,                                     _queueId,
Line 76 
Line 79 
                                     AsyncIoctl::IO_CLOSE,                                     AsyncIoctl::IO_CLOSE,
                                     0,                                     0,
                                     0);                                     0);
   
    msg->op = get_op();    msg->op = get_op();
    msg->op->_request.insert_first(msg);    msg->op->_request.insert_first(msg);
    Boolean closed = false;  
  
    if (_incoming_queue_shutdown.value() > 0 )  
       return ;  
  
    _incoming.insert_last_wait(msg->op);    _incoming.insert_last_wait(msg->op);
    msg->op->_client_sem.wait();    msg->op->_client_sem.wait();
Line 90 
Line 92 
    AsyncReply * reply = static_cast<AsyncReply *>(msg->op->_response.remove_first());    AsyncReply * reply = static_cast<AsyncReply *>(msg->op->_response.remove_first());
    reply->op = 0;    reply->op = 0;
    msg->op->unlock();    msg->op->unlock();
    if ( reply != 0 )  
    {  
       if(reply->getMask() & message_mask:: ha_async)  
       {  
          if(reply->getMask() & message_mask::ha_reply)  
          {  
             if(reply->result == async_results::OK)  
                closed = true;  
          }  
       }  
       delete reply;       delete reply;
    }  
  
    msg->op->_request.remove(msg);    msg->op->_request.remove(msg);
    msg->op->_state |= ASYNC_OPSTATE_RELEASED;    msg->op->_state |= ASYNC_OPSTATE_RELEASED;
   
    return_op(msg->op);    return_op(msg->op);
   
    msg->op = 0;    msg->op = 0;
    delete msg;    delete msg;
 } }
Line 382 
Line 373 
 { {
    AsyncOpNode *op = new AsyncOpNode();    AsyncOpNode *op = new AsyncOpNode();
  
    op->write_state(ASYNC_OPSTATE_UNKNOWN);     op->_state = ASYNC_OPSTATE_UNKNOWN;
    op->write_flags(ASYNC_OPFLAGS_SINGLE | ASYNC_OPFLAGS_NORMAL );     op->_flags = ASYNC_OPFLAGS_SINGLE | ASYNC_OPFLAGS_NORMAL;
  
    return op;    return op;
 } }


Legend:
Removed from v.1.8  
changed lines
  Added in v.1.9

No CVS admin address has been configured
Powered by
ViewCVS 0.9.2