Logo Search packages:      
Sourcecode: condor version File versions  Download package

void DaemonCore::Send_Signal_nonblocking ( classy_counted_ptr< DCSignalMsg >  msg  ) 

Send a signal to a process, as a nonblocking operation. If the caller cares about the success/failure status, this can be obtained by subclassing DCSignalMsg and overriding the message delivery hooks.

Parameters:
msg The pid and signal to send as a DCSignalMsg

Definition at line 4691 of file daemon_core.cpp.

References Send_Signal().

                                                                            {
      Send_Signal( msg, true );

            // We need to make sure the callback hooks are called if this
            // message was handled through some means other than delivery
            // through DCMessenger.

      if( !msg->messengerDelivery() ) {
            switch( msg->deliveryStatus() ) {
            case DCMsg::DELIVERY_SUCCEEDED:
                  msg->messageSent( NULL, NULL );
                  break;
            case DCMsg::DELIVERY_FAILED:
            case DCMsg::DELIVERY_PENDING:
            case DCMsg::DELIVERY_CANCELED:
                        // Send_Signal() typically only sets the delivery status to
                        // SUCCEEDED; so if things fail, the status will remain
                        // PENDING.
                  msg->messageSendFailed( NULL );
                  break;
            }
      }
}


Generated by  Doxygen 1.6.0   Back to index