 |
Maestro Open Toolkit: System-Independent Threads Interface of Ensemble
|
This document is a part of online
Ensemble documentation, under
Maestro Open Toolkit.
Threads
typedef struct {
int stacksize;
} hot_thread_attr_t;
// Create a new thread. Returns 0 if OK.
hot_err_t hot_thread_Create(void (*routine)(void*),
void *arg,
hot_thread_attr_t *attr);
Locks
// Obscured type
typedef void* hot_lock_t;
// Create a new lock. Returns 0 if OK.
hot_err_t hot_lck_Create(/*OUT*/hot_lock_t*);
// Destroy a lock. Returns 0 if OK.
hot_err_t hot_lck_Destroy(hot_lock_t);
// Acquire a lock. Return 0 if OK.
hot_err_t hot_lck_Lock(hot_lock_t);
// Release a lock. Return 0 if OK.
hot_err_t hot_lck_Unlock(hot_lock_t);
Semaphores
// Obscured type
typedef void* hot_sema_t;
// Create a semaphore. Returns 0 if OK.
hot_err_t hot_sema_Create(int initial_value, /*OUT*/ hot_sema_t *semap);
// Destroy a semaphore. Returns 0 if OK.
hot_err_t hot_sema_Destroy(hot_sema_t sema);
// Increase the value of a semaphore. Returns 0 if OK.
hot_err_t hot_sema_Inc(hot_sema_t sema);
// Decrease the value of a semapghore (may block). Returns 0 if OK.
hot_err_t hot_sema_Dec(hot_sema_t sema);
send mail to
alexey@cs.cornell.edu