X-Git-Url: https://gapil.gnulinux.it/gitweb/?p=gapil.git;a=blobdiff_plain;f=ipc.tex;h=270113c21792b3bea832acfc24279a8c5c388d4d;hp=a3846faf6ff3bba8f19f8ce20a903bf6ef4373f2;hb=0345bbfd866e46d3c76d0df7f37a83f9a3924926;hpb=4cef5fd8ce4bc04129a1934fa94ecb2848bcdc88 diff --git a/ipc.tex b/ipc.tex index a3846fa..270113c 100644 --- a/ipc.tex +++ b/ipc.tex @@ -2564,22 +2564,7 @@ il mutex. Entrambe fanno da wrapper per \func{semop}, utilizzando le due strutture \var{sem\_lock} e \var{sem\_unlock} definite in precedenza (\texttt{\small 32--42}). Si noti come per queste ultime si sia fatto uso dell'opzione \const{SEM\_UNDO} per evitare che il semaforo resti bloccato in -caso di terminazione imprevista del processo.%% Si noti infine come, essendo -%% tutte le funzioni riportate in \figref{fig:ipc_mutex_create} estremamente -%% semplici, se si sono definite tutte come \ctyp{inline}.\footnote{la direttiva -%% \func{inline} viene usata per dire al compilatore di non trattare la -%% funzione cui essa fa riferimento come una funzione, ma di inserire il codice -%% direttamente nel testo del programma. Anche se i compilatori più moderni -%% sono in grado di effettuare da soli queste manipolazioni (impostando le -%% opportune ottimizzazioni) questa è una tecnica usata per migliorare le -%% prestazioni per le funzioni piccole ed usate di frequente, in tal caso -%% infatti le istruzioni per creare un nuovo frame nello stack per chiamare la -%% funzione costituirebbero una parte rilevante del codice, appesantendo -%% inutilmente il programma. Originariamente questa era fatto utilizzando delle -%% macro, ma queste hanno tutta una serie di problemi di sintassi nel passaggio -%% degli argomenti (si veda ad esempio \cite{PratC} che in questo modo possono -%% essere evitati.} - +caso di terminazione imprevista del processo. Chiamare \func{MutexLock} decrementa il valore del semaforo: se questo è libero (ha già valore 1) sarà bloccato (valore nullo), se è bloccato la