rpm
5.4.15
|
Go to the source code of this file.
Typedefs | |
typedef struct yarnThread_s * | yarnThread |
typedef enum yarnTwistOP_e | yarnTwistOP |
typedef enum yarnWaitOP_e | yarnWaitOP |
Enumerations | |
enum | yarnTwistOP_e { TO, BY } |
enum | yarnWaitOP_e { TO_BE, NOT_TO_BE, TO_BE_MORE_THAN, TO_BE_LESS_THAN } |
Functions | |
void | yarnMem (void *(*)(size_t), void(*)(void *)) |
yarnThread | yarnLaunchStack (void(*probe)(void *), void *payload, void *stack, size_t nstack) |
yarnThread | yarnLaunch (void(*probe)(void *), void *payload) |
yarnThread | yarnJoin (yarnThread ally) |
int | yarnJoinAll (void) |
void | yarnDestruct (yarnThread off_course) |
yarnLock | yarnNewLock (long) |
void | yarnPossess (yarnLock bolt) |
void | yarnRelease (yarnLock bolt) |
void | yarnTwist (yarnLock bolt, yarnTwistOP op, long) |
void | yarnWaitFor (yarnLock bolt, yarnWaitOP op, long) |
long | yarnPeekLock (yarnLock bolt) |
yarnLock | yarnFreeLock (yarnLock bolt) |
Variables | |
const char * | yarnPrefix |
void(* | yarnAbort )(int) |
typedef struct yarnThread_s* yarnThread |
typedef enum yarnTwistOP_e yarnTwistOP |
typedef enum yarnWaitOP_e yarnWaitOP |
enum yarnTwistOP_e |
enum yarnWaitOP_e |
void yarnDestruct | ( | yarnThread | off_course | ) |
Definition at line 571 of file yarn.c.
References fail, yarnThread_s::id, pthread_cancel, and yarnJoin().
Definition at line 330 of file yarn.c.
References yarnLock_s::cond, fail, yarnLock_s::mutex, my_free, pthread_cond_destroy, and pthread_mutex_destroy.
Referenced by rpmioFreePool(), rpmioPutPool(), rpmvfFree(), and rpmzLogFree().
yarnThread yarnJoin | ( | yarnThread | ally | ) |
Definition at line 488 of file yarn.c.
References yarnThread_s::done, fail, yarnThread_s::id, my_free, yarnThread_s::next, pthread_join, threads, yarnLock_s::value, yarnPossess(), and yarnRelease().
Referenced by yarnDestruct().
int yarnJoinAll | ( | void | ) |
Definition at line 524 of file yarn.c.
References yarnThread_s::done, fail, yarnThread_s::id, my_free, yarnThread_s::next, NOT_TO_BE, pthread_join, threads, yarnLock_s::value, yarnPossess(), yarnRelease(), and yarnWaitFor().
yarnThread yarnLaunch | ( | void(*)(void *) | probe, |
void * | payload | ||
) |
Definition at line 481 of file yarn.c.
References capsule::probe, and yarnLaunchStack().
yarnThread yarnLaunchStack | ( | void(*)(void *) | probe, |
void * | payload, | ||
void * | stack, | ||
size_t | nstack | ||
) |
Definition at line 436 of file yarn.c.
References yarnThread_s::done, fail, yarnThread_s::id, my_malloc(), yarnThread_s::next, capsule::payload, capsule::probe, pthread_attr_destroy, pthread_attr_init, pthread_attr_setdetachstate, pthread_attr_t, pthread_create, PTHREAD_CREATE_JOINABLE, threads, yarnPossess(), and yarnRelease().
Referenced by yarnLaunch().
void yarnMem | ( | void * | *)(size_t, |
void(*)(void *) | |||
) |
yarnLock yarnNewLock | ( | long | ) |
Definition at line 248 of file yarn.c.
References yarnLock_s::cond, fail, yarnLock_s::mutex, my_malloc(), pthread_cond_init, pthread_mutex_init, and yarnLock_s::value.
Referenced by open_dso(), rpmioGetPool(), rpmioNewPool(), rpmvfNew(), and rpmzLogNew().
long yarnPeekLock | ( | yarnLock | bolt | ) |
Definition at line 325 of file yarn.c.
References yarnLock_s::value.
Referenced by httpOpen(), rpmdbClose(), rpmioFreePoolItem(), rpmioLinkPoolItem(), rpmioUnlinkPoolItem(), rpmvfFree(), rpmzLogFree(), rpmzLogLink(), and urlFreeCache().
void yarnPossess | ( | yarnLock | bolt | ) |
Definition at line 262 of file yarn.c.
References fail, yarnLock_s::mutex, and pthread_mutex_lock.
Referenced by headerLoad(), httpOpen(), open_dso(), pgpDigFini(), rpmdbClose(), rpmioFreePool(), rpmioFreePoolItem(), rpmioGetPool(), rpmioLinkPoolItem(), rpmioPutPool(), rpmioUnlinkPoolItem(), rpmtsFini(), rpmvfFree(), rpmzLogAdd(), rpmzLogFree(), rpmzLogLink(), rpmzMsgShow(), urlFreeCache(), yarnJoin(), yarnJoinAll(), and yarnLaunchStack().
void yarnRelease | ( | yarnLock | bolt | ) |
Definition at line 270 of file yarn.c.
References fail, yarnLock_s::mutex, and pthread_mutex_unlock.
Referenced by httpOpen(), open_dso(), pgpDigFini(), rpmioFreePool(), rpmioGetPool(), rpmtsFini(), rpmzLogAdd(), rpmzMsgShow(), urlFreeCache(), yarnJoin(), yarnJoinAll(), and yarnLaunchStack().
void yarnTwist | ( | yarnLock | bolt, |
yarnTwistOP | op, | ||
long | |||
) |
Definition at line 279 of file yarn.c.
References BY, yarnLock_s::cond, fail, yarnLock_s::mutex, pthread_cond_broadcast, pthread_mutex_unlock, TO, and yarnLock_s::value.
Referenced by rpmdbClose(), rpmioFreePoolItem(), rpmioGetPool(), rpmioLinkPoolItem(), rpmioPutPool(), rpmioUnlinkPoolItem(), rpmvfFree(), rpmzLogFree(), and rpmzLogLink().
void yarnWaitFor | ( | yarnLock | bolt, |
yarnWaitOP | op, | ||
long | |||
) |
Definition at line 295 of file yarn.c.
References yarnLock_s::cond, fail, yarnLock_s::mutex, NOT_TO_BE, pthread_cond_wait, TO_BE, TO_BE_LESS_THAN, TO_BE_MORE_THAN, until, and yarnLock_s::value.
Referenced by rpmioGetPool(), and yarnJoinAll().