Beispiel #1
0
void entrypoint(void *arg) {

    int n_asyncs = 5;
    int *count = (int *)malloc(sizeof(int));
    assert(count);
    *count = 0;

    hclib_start_finish();
    int i;
    hclib_future_t *prev = NULL;
    for (i = 0; i < n_asyncs; i++) {
        if (prev) {
            hclib_future_t **future_list = (hclib_future_t **)malloc(
                    2 * sizeof(hclib_future_t *));
            assert(future_list);
            future_list[0] = prev;
            future_list[1] = NULL;
            prev = hclib_async_future(async_fct, count, future_list, NULL,
                    NULL, NO_PROP);
        } else {
            prev = hclib_async_future(async_fct, count, NULL, NULL, NULL,
                    NO_PROP);
        }
    }
    hclib_end_finish();

    assert(*count == n_asyncs);
}
Beispiel #2
0
void entrypoint(void *arg) {

    int n_asyncs = 5;
    int *count = (int *)malloc(sizeof(int));
    assert(count);
    *count = 0;

    hclib_start_finish();
    int i;
    hclib_future_t *prev = NULL;
    for (i = 0; i < n_asyncs; i++) {
        if (prev) {
            prev = hclib_async_future(async_fct, count, &prev, 1, NULL);
        } else {
            prev = hclib_async_future(async_fct, count, NULL, 0, NULL);
        }
    }
    hclib_end_finish();

    assert(*count == n_asyncs);
}