Functions | |
int | qSemInit (const char *keyfile, int keyid, int nsems, bool autodestroy) |
Under-development. | |
int | qSemGetId (const char *keyfile, int keyid) |
Under-development. | |
bool | qSemEnter (int semid, int semno) |
Under-development. | |
bool | qSemEnterNowait (int semid, int semno) |
Under-development. | |
bool | qSemEnterForce (int semid, int semno, int maxwaitms, bool *forceflag) |
Under-development. | |
bool | qSemLeave (int semid, int semno) |
Under-development. | |
bool | qSemCheck (int semid, int semno) |
Under-development. | |
bool | qSemFree (int semid) |
Under-development. |
[daemon main] #define MAX_SEMAPHORES (2) // create semaphores int semid = qSemInit("/some/file/for/generating/unique/key", 'q', MAX_SEMAPHORES, true); if(semid < 0) { printf("ERROR: Can't initialize semaphores.n"); return -1; } // fork childs (... child forking codes ...) // at the end of daemon, free semaphores if(semid >= 0) qSemFree(semid); [forked child] // critical section for resource 0 qSemEnter(0); (... guaranteed as atomic procedure ...) qSemLeave(0); (... some codes ...) // critical section for resource 1 qSemEnter(1); (... guaranteed as atomic procedure ...) qSemLeave(1); [other program which uses resource 1] int semid = qSemGetId("/some/file/for/generating/unique/key", 'q'); if(semid < 0) { printf("ERROR: Can't get semaphore id.n"); return -1; } // critical section for resource 1 qSemEnter(1); (... guaranteed as atomic procedure ...) qSemLeave(1);
int qSemInit | ( | const char * | keyfile, | |
int | keyid, | |||
int | nsems, | |||
bool | autodestroy | |||
) |
Under-development.
int qSemGetId | ( | const char * | keyfile, | |
int | keyid | |||
) |
Under-development.
bool qSemEnter | ( | int | semid, | |
int | semno | |||
) |
Under-development.
bool qSemEnterNowait | ( | int | semid, | |
int | semno | |||
) |
Under-development.
bool qSemEnterForce | ( | int | semid, | |
int | semno, | |||
int | maxwaitms, | |||
bool * | forceflag | |||
) |
Under-development.
bool qSemLeave | ( | int | semid, | |
int | semno | |||
) |
Under-development.
bool qSemCheck | ( | int | semid, | |
int | semno | |||
) |
Under-development.
bool qSemFree | ( | int | semid | ) |
Under-development.
[Home] [About] [Examples] [Changes] [Download] [SVN Repository] [Install] [Reference] |