int qemu_sem_timedwait(QemuSemaphore *sem, int ms)

{

    int rc = WaitForSingleObject(sem->sema, ms);

    if (rc == WAIT_OBJECT_0) {

        return 0;

    }

    if (rc != WAIT_TIMEOUT) {

        error_exit(GetLastError(), __func__);

    }

    return -1;

}

int qemu_sem_timedwait(QemuSemaphore *sem, int ms)

{

    int rc = WaitForSingleObject(sem->sema, ms);

    if (rc == WAIT_OBJECT_0) {

        return 0;

    }

    if (rc != WAIT_TIMEOUT) {

        error_exit(GetLastError(), __func__);

    }

    return -1;

}

int FUNC_0(QemuSemaphore *VAR_0, int VAR_1)

{

    int VAR_2 = WaitForSingleObject(VAR_0->sema, VAR_1);

    if (VAR_2 == WAIT_OBJECT_0) {

        return 0;

    }

    if (VAR_2 != WAIT_TIMEOUT) {

        error_exit(GetLastError(), __func__);

    }

    return -1;

}

int FUNC_0(QemuSemaphore *VAR_0, int VAR_1)
{ int VAR_2 = WaitForSingleObject(VAR_0->sema, VAR_1); if (VAR_2 == WAIT_OBJECT_0) { return 0; } if (VAR_2 != WAIT_TIMEOUT) { error_exit(GetLastError(), __func__); } return -1; }