Do unlinking of SEM_WRITE_END in supervisor

This commit is contained in:
zenon 2018-06-07 18:24:12 +02:00
parent 829cc3cb3a
commit da416ca283
2 changed files with 6 additions and 3 deletions

View File

@ -202,8 +202,6 @@ void cleanup()
sem_close(sUsedSpace); sem_close(sUsedSpace);
sem_close(sFreeSpace); sem_close(sFreeSpace);
sem_close(sWriteEnd); sem_close(sWriteEnd);
sem_unlink(SEM_WRITE_END);
} }
@ -329,7 +327,7 @@ int main(int argc, char *argv[])
sFreeSpace = sem_open(SEM_FREE_SPACE, 0); sFreeSpace = sem_open(SEM_FREE_SPACE, 0);
sUsedSpace = sem_open(SEM_USED_SPACE, 0); sUsedSpace = sem_open(SEM_USED_SPACE, 0);
sWriteEnd = sem_open(SEM_WRITE_END, O_CREAT, PERMISSION, 1); sWriteEnd = sem_open(SEM_WRITE_END, 0);
if (sFreeSpace == SEM_FAILED || if (sFreeSpace == SEM_FAILED ||
sUsedSpace == SEM_FAILED || sUsedSpace == SEM_FAILED ||
sWriteEnd == SEM_FAILED) { sWriteEnd == SEM_FAILED) {

View File

@ -17,6 +17,8 @@ static sem_t *sUsedSpace;
static sem_t *sFreeSpace; static sem_t *sFreeSpace;
static sem_t *sWriteEnd;
struct sigaction sa; struct sigaction sa;
static int bestSolution[MAX_ITEMS]; static int bestSolution[MAX_ITEMS];
@ -50,9 +52,11 @@ void cleanup()
} }
sem_close(sUsedSpace); sem_close(sUsedSpace);
sem_close(sFreeSpace); sem_close(sFreeSpace);
sem_close(sWriteEnd);
sem_unlink(SEM_USED_SPACE); sem_unlink(SEM_USED_SPACE);
sem_unlink(SEM_FREE_SPACE); sem_unlink(SEM_FREE_SPACE);
sem_unlink(SEM_WRITE_END);
} }
void initCircBuf() void initCircBuf()
@ -172,6 +176,7 @@ int main(int argc, char *argv[])
sFreeSpace = sem_open(SEM_FREE_SPACE, O_CREAT | O_EXCL, PERMISSION, MAX_ITEMS); sFreeSpace = sem_open(SEM_FREE_SPACE, O_CREAT | O_EXCL, PERMISSION, MAX_ITEMS);
sUsedSpace = sem_open(SEM_USED_SPACE, O_CREAT | O_EXCL, PERMISSION, 0); sUsedSpace = sem_open(SEM_USED_SPACE, O_CREAT | O_EXCL, PERMISSION, 0);
sWriteEnd = sem_open(SEM_WRITE_END, O_CREAT | O_EXCL, PERMISSION, 1);
initCircBuf(); initCircBuf();