11. februar 2004 - 18:14
Der er
8 kommentarer og 1 løsning
Semaforer værdi lig med -1
I nedenstående op funktion tjekker vi om semafoeren virker...det gør den ikke...hvad kan det skyldes at vores værdi er lig med -1 void op(int sem_nummer) { struct sembuf sem_b; sem_b.sem_num = sem_nummer; sem_b.sem_op = 1; sem_b.sem_flg = SEM_UNDO; if(semop(sem_id, &sem_b,1) == -1) printf("Fejl i optælling af semafor nr. %d\n", sem_nummer); }
Annonceindlæg fra Infor
11. februar 2004 - 20:51
#1
Prøv evt. denne version, og se om det hjælper!! void op( int sem_nummer) { struct sembuf sb[2]; /* vælger DOWN på 2 semaphorer */ sb[0].sem_num = (sem_nummer + 1) % count; sb[0].sem_op = -1; sb[0].sem_flg = SEM_UNDO; sb[1].sem_num = sem_nummer; sb[1].sem_op = -1; sb[1].sem_flg = SEM_UNDO; /* nap dem begge eller vent... */ if( semop( sem, sb, 2 ) == -1 ) fprintf( stderr, "semop fejl: %s (sem_nummer=%d)\n", strerror( errno ), sem_nummer ); } Håber det kan bruges.. Morten
11. februar 2004 - 21:07
#2
vi prøver......
11. februar 2004 - 21:10
#3
count er ikke erklæret.. hvor henne skal vi gøre det....
11. februar 2004 - 21:12
#4
hvis vi udkommen.. det der count og kører programmet så får vi en fejl der hedder: semop fejl: invalid argument (sem_nummer = 0 og længe nede kommer der til at stå sem_nummer = 1 osv...
11. februar 2004 - 22:02
#5
Måske vil dette virke void op( int sem_nummer) { struct sembuf sb[1]; sb[0].sem_num = sem_nummer; sb[0].sem_op = -1; sb[0].sem_flg = SEM_UNDO; if( semop( sem, sb, 1 ) == -1 ) fprintf( stderr, "semop fejl: %s (sem_nummer=%d)\n", strerror( errno ), sem_nummer ); }
11. februar 2004 - 22:06
#6
Gider du ikke kigge på vores kode og se om du kan finde fejlen til at det ikke virker som det skal... vi har siddet med det i 24 timer... og kan ikke komme videre.... grunden til at vi er i et lidt presserende moment... er at vi skal aflevere det som en del af en opgave fredag kl 12
11. februar 2004 - 22:17
#7
Har vi skræmt dig?
11. februar 2004 - 22:34
#8
Nu får vi en en fejlmeddelse der siger: file to large
12. februar 2006 - 12:39
#9
1
Kurser inden for grundlæggende programmering