22. oktober 2002 - 11:26Der er
12 kommentarer og 1 løsning
semaphore
hej Eksperter - kan ikke rigtigt få lavet en wait på min semaphore, der sker det at den hele tiden retunere 0 og derved ikke decrementere semaphoren. Hvad går galdt ved semop()!!
The semop() function will fail if: [E2BIG] The value of nsops is greater than the system-imposed maximum. [EACCES] Operation permission is denied to the calling process, see IPC. [EAGAIN] The operation would result in suspension of the calling process but (sem_flg&IPC_NOWAIT) is non-zero. [EFBIG] The value of sem_num is less than 0 or greater than or equal to the number of semaphores in the set associated with semid. [EIDRM] The semaphore identifier semid is removed from the system. [EINTR] The semop() function was interrupted by a signal. [EINVAL] The value of semid is not a valid semaphore identifier, or the number of individual semaphores for which the calling process requests a SEM_UNDO would exceed the system-imposed limit. [ENOSPC] The limit on the number of individual processes requesting a SEM_UNDO would be exceeded. [ERANGE] An operation would cause a semval to overflow the system-imposed limit, or an operation would cause a semadj value to overflow the system-imposed limit.
sem_id = semget(key, 1, 0)); FRA DIT LINK sem_id = semget((key_t)1234, 1, 0666 | IPC_CREAT); MIN KODE jeg går ud fra det er her min kode omkring sem_id går galt, men hvad skal ændres?
jeg fik lavet lidt om hist oh her ud fra linket og nu virker det. Det er et knald godt link idet koden er meget simplificeret hvilket gør overskueligheden og forståelsen af koden i top. Jeg takker for hjælpen - chries
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.