Ejemplo n.º 1
0
void vrpn_PeerMutex::release(void)
{
    int i;

    // Can't release it if we don't already have it.
    // There aren't any appropriate callbacks to trigger here.  :)
    if (!isHeldLocally()) {

#ifdef VERBOSE
        fprintf(stderr, "vrpn_PeerMutex::release:  we don't hold the mutex.\n");
#endif

        return;
    }

    d_state = AVAILABLE;
    d_holderIP = 0;
    d_holderPort = -1;
    for (i = 0; i < d_numPeers; i++) {
        sendRelease(d_peer[i]);
    }

    triggerReleaseCallbacks();

#ifdef VERBOSE
    fprintf(stderr, "vrpn_PeerMutex::release:  released the mutex.\n");
#endif
}
Ejemplo n.º 2
0
void vrpn_Mutex_Remote::release (void) {
  if (!isHeldLocally()) {
    return;
  }

#ifdef VERBOSE
  fprintf(stderr, "Releasing mutex.\n");
#endif

  d_state = AVAILABLE;
  sendRelease();
  triggerReleaseCallbacks();
}