schroasync

schroasync

Synopsis

                    SchroAsync;
struct              SchroAsyncTask;
void                (*SchroAsyncCompleteFunc)           (void *Param1);
int                 (*SchroAsyncScheduleFunc)           (void *Param1,
                                                         SchroExecDomain exec_domain);
                    SchroThread;
SchroAsync *        schro_async_new                     (int n_threads,
                                                         SchroAsyncScheduleFunc schedule,
                                                         SchroAsyncCompleteFunc complete,
                                                         void *closure);
void                schro_async_free                    (SchroAsync *async);
void                schro_async_lock                    (SchroAsync *async);
void                schro_async_unlock                  (SchroAsync *async);
void                schro_async_signal_scheduler        (SchroAsync *async);
int                 schro_async_wait_locked             (SchroAsync *async);
SchroExecDomain     schro_async_get_exec_domain         (void);

Description

Details

SchroAsync

typedef struct _SchroAsync SchroAsync;


struct SchroAsyncTask

struct SchroAsyncTask {
  SchroAsyncTaskFunc task_func;
  void *priv;
};


SchroAsyncCompleteFunc ()

void                (*SchroAsyncCompleteFunc)           (void *Param1);


SchroAsyncScheduleFunc ()

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


SchroThread

typedef struct _SchroThread SchroThread;


schro_async_new ()

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


schro_async_free ()

void                schro_async_free                    (SchroAsync *async);


schro_async_lock ()

void                schro_async_lock                    (SchroAsync *async);


schro_async_unlock ()

void                schro_async_unlock                  (SchroAsync *async);


schro_async_signal_scheduler ()

void                schro_async_signal_scheduler        (SchroAsync *async);


schro_async_wait_locked ()

int                 schro_async_wait_locked             (SchroAsync *async);


schro_async_get_exec_domain ()

SchroExecDomain     schro_async_get_exec_domain         (void);