schroasync

schroasync —

Synopsis




            SchroAsync;
            SchroAsyncTask;
void        (*SchroAsyncCompleteFunc)       (void *);
int         (*SchroAsyncScheduleFunc)       (void *,
                                             SchroExecDomain exec_domain);
            SchroThread;
SchroAsync* schro_async_new                 (int n_threads,
                                             SchroAsyncScheduleFunc schedule,
                                             SchroAsyncCompleteFunc complete,
                                             void *closure);
void        schro_async_free                (SchroAsync *async);
int         schro_async_get_num_completed   (SchroAsync *async);
void        schro_async_lock                (SchroAsync *async);
void        schro_async_unlock              (SchroAsync *async);
void*       schro_async_pull                (SchroAsync *async);
void*       schro_async_pull_locked         (SchroAsync *async);
void        schro_async_run_locked          (SchroAsync *async,
                                             void (*func) (void *),
                                             void *ptr);
void        schro_async_signal_scheduler    (SchroAsync *async);
int         schro_async_wait_locked         (SchroAsync *async);
void        schro_async_wait_one            (SchroAsync *async);
void        schro_async_add_cuda            (SchroAsync *async);
SchroExecDomain schro_async_get_exec_domain (void);
void        schro_async_wait                (SchroAsync *async,
                                             int min_waiting);

Description

Details

SchroAsync

typedef struct _SchroAsync SchroAsync;


SchroAsyncTask

typedef struct _SchroAsyncTask SchroAsyncTask;


SchroAsyncCompleteFunc ()

void        (*SchroAsyncCompleteFunc)       (void *);

Param1 :

SchroAsyncScheduleFunc ()

int         (*SchroAsyncScheduleFunc)       (void *,
                                             SchroExecDomain exec_domain);

Param1 :
exec_domain :
Returns :

SchroThread

typedef struct _SchroThread SchroThread;


schro_async_new ()

SchroAsync* schro_async_new                 (int n_threads,
                                             SchroAsyncScheduleFunc schedule,
                                             SchroAsyncCompleteFunc complete,
                                             void *closure);

n_threads :
schedule :
complete :
closure :
Returns :

schro_async_free ()

void        schro_async_free                (SchroAsync *async);

async :

schro_async_get_num_completed ()

int         schro_async_get_num_completed   (SchroAsync *async);

async :
Returns :

schro_async_lock ()

void        schro_async_lock                (SchroAsync *async);

async :

schro_async_unlock ()

void        schro_async_unlock              (SchroAsync *async);

async :

schro_async_pull ()

void*       schro_async_pull                (SchroAsync *async);

async :
Returns :

schro_async_pull_locked ()

void*       schro_async_pull_locked         (SchroAsync *async);

async :
Returns :

schro_async_run_locked ()

void        schro_async_run_locked          (SchroAsync *async,
                                             void (*func) (void *),
                                             void *ptr);

async :
func :
ptr :

schro_async_signal_scheduler ()

void        schro_async_signal_scheduler    (SchroAsync *async);

async :

schro_async_wait_locked ()

int         schro_async_wait_locked         (SchroAsync *async);

async :
Returns :

schro_async_wait_one ()

void        schro_async_wait_one            (SchroAsync *async);

async :

schro_async_add_cuda ()

void        schro_async_add_cuda            (SchroAsync *async);

async :

schro_async_get_exec_domain ()

SchroExecDomain schro_async_get_exec_domain (void);

Returns :

schro_async_wait ()

void        schro_async_wait                (SchroAsync *async,
                                             int min_waiting);

async :
min_waiting :