|
|||||||
|
|
|
![]() |
|
|
Strumenti |
|
|
#1 |
|
Senior Member
Iscritto dal: Nov 2000
Città: Salerno
Messaggi: 4338
|
Help programmazione UNIX
Salve raga
mi servirebbe un aiuto: non riesco a capire il funzionamento di una system call che ha il seguente prototitpo... int semop(int semid, struct sembuf semoparray[], size_t nops); Un grazie a chi riesce a descrivermene il funzionamento
__________________
Doc : "Ovviamente, il continuum temporale è stato interrotto creando questa nuova temporale sequenza di eventi risultante in questa realtà alternativa" Marty : ...
|
|
|
|
|
|
#2 |
|
Senior Member
Iscritto dal: Jun 2002
Città: Dublin
Messaggi: 5989
|
Purtroppo al momento non ti so dire. Hai provato con man?
__________________
C'ho certi cazzi Mafa' che manco tu che sei pratica li hai visti mai! |
|
|
|
|
|
#3 |
|
Senior Member
Iscritto dal: Apr 2000
Città: Roma
Messaggi: 15625
|
Vegeta sta debuggando un suo programmino che fa uso di quelle funzioni, forse ti può servire da esempio pratico:
http://forum.hwupgrade.it/showthread...hreadid=769051
__________________
0: or %edi, %ecx; adc %eax, (%edx); popf; je 0b-22; pop %ebx; fadds 0x56(%ecx); lds 0x56(%ebx), %esp; mov %al, %al andeqs pc, r1, #147456; blpl 0xff8dd280; ldrgtb r4, [r6, #-472]; addgt r5, r8, r3, ror #12 |
|
|
|
|
|
#4 | |
|
Senior Member
Iscritto dal: Nov 2000
Città: Salerno
Messaggi: 4338
|
Quote:
__________________
Doc : "Ovviamente, il continuum temporale è stato interrotto creando questa nuova temporale sequenza di eventi risultante in questa realtà alternativa" Marty : ...
|
|
|
|
|
|
|
#5 |
|
Senior Member
Iscritto dal: Jun 2002
Città: Dublin
Messaggi: 5989
|
Chiedevo se avevi provato a leggere la pagina di manuale relativa a quella chiamata, ma lascia stare, ho già provato sulla mia Debian e non trova nessuna pagina di manuale corrispondente. Cerca su Google qualcosa come "using semop", forse trovi qualcosa di interessante.
__________________
C'ho certi cazzi Mafa' che manco tu che sei pratica li hai visti mai! |
|
|
|
|
|
#6 |
|
Senior Member
Iscritto dal: Sep 2002
Città: Celano (AQ) Segno_Zodiacale: Leone Ascendente: Cammello Segni_Particolari: Quello
Messaggi: 9571
|
ti faccio un copia incolla (a mano) di alcune dispense che si trvano online.
la semp permette che un insieme di operaziooni su un semafro ( un set di semafori) venga eseguita in modo atomico. int semop(int semid, struct sembuf semoparray[], size_t nops); -semid è l'identificatore del semaforo (per intenderci il valore di ritorno di semget; -semoparray è un array di strutture sembuf i cui membri sono: -unsigned short sem_num: numeri di semafori nel'insieme; -short sem_op: codice dell'operazione da compiere; -short sem_flg: flag che viene solitamente impostato a SEM_UNDO per ripristinare lo stato iniziale del semaforo al termine del processo corrente -nops è il numer di strutture sembuf presenti nell'array semoparray. in pratica la semop ti permette di realizzare le operazioni di wait e signal su un semaforo. ti faccio un esempio di wait: Codice:
int p(int semid, int num) {
struct sembuf p_buf;
p_buf.sem_num= num;
p_buf.sem_op= -1;
p_buf.sem_flg= SEM_UNDO;
if (semop(semid, &p_buf, 1) == -1) {
perror("errore semop");
exit(-1);
}
return 0;
}
|
|
|
|
|
| Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 18:02.



















