示例#1
0
/**
 * Class:     DDS_WaitSet
 * Method:    jniDetachCondition
 * Signature: (LDDS/Condition;)I
 */
JNIEXPORT jint JNICALL
SAJ_FUNCTION(jniDetachCondition)(
    JNIEnv *env,
    jobject jwaitSet,
    jobject jcondition)
{
    gapi_waitSet waitSet;
    gapi_condition condition;
    
    waitSet = (gapi_waitSet) saj_read_gapi_address(env, jwaitSet);
    condition = (gapi_condition) saj_read_gapi_address(env, jcondition);

    return (jint)gapi_waitSet_detach_condition(waitSet, condition);
}
示例#2
0
void
_ConditionDispose(
    _Condition _this)
{
    gapi_waitSet waitset;

    waitset = c_iterTakeFirst(_this->waitsets);
    while (waitset) {
        gapi_condition handle = _EntityRelease(_this);
        gapi_waitSet_detach_condition(waitset, handle);
        _this = gapi_conditionClaim(handle, NULL);
        waitset = c_iterTakeFirst(_this->waitsets);
    }
    c_iterFree(_this->waitsets);
    if (_ObjectGetKind(_Object(_this)) != OBJECT_KIND_GUARDCONDITION) {
        _EntityDelete(_this);
    }
}