Estratto del documento

Semop

The Single UNIX ® Specification, Version 2

Copyright © 1997 The Open Group

Name

Semop - semaphore operations

Synopsis

#include <sys/sem.h>
int semop(int semid, struct sembuf *sops, size_t nsops);

Description

La funzione semop() è utilizzata per eseguire in maniera atomica un array definito dall'utente di operazioni sui semafori associati con l'identificatore del semaforo specificato dall'argomento semid.

L'argomento sops è un puntatore a un array definito dall'utente di strutture di operazioni sui semafori. L'implementazione non modificherà gli elementi di questo array a meno che l'applicazione utilizzi estensioni dipendenti dall'implementazione.

L'argomento nsops è il numero di tali strutture nell'array.

Ogni struttura include i seguenti membri:

  • sembuf, Member Type Member Name Description
  • short sem_num - semaphore number
  • short sem_op - semaphore operation
  • short sem_flg - operation flags

Ogni operazione del semaforo specificata da sem_op viene eseguita sul corrispondente semaforo specificato da semid e sem_num.

La variabile sem_op specifica una delle tre operazioni del semaforo:

  1. Se sem_op è un numero intero negativo e il processo chiamante ha il permesso di alterare, una delle seguenti condizioni si verificherà:
    • Se semval, in base a <sys/sem.h>, è maggiore o uguale al valore assoluto di sem_op, il valore assoluto di sem_op viene sottratto da semval. Inoltre, se (sem_flg&SEM_UNDO) è diverso da zero, il valore assoluto di sem_op viene aggiunto al valore semadj del processo chiamante per il semaforo specificato.
    • Se semval è minore del valore assoluto di sem_op e (sem_flg&IPC_NOWAIT) è diverso da zero, semop() ritornerà immediatamente.
    • Se semval è minore del valore assoluto di sem_op e (sem_flg&IPC_NOWAIT) è zero, semop() incrementerà il semncnt associato con il semaforo specificato e sospenderà l'esecuzione del thread chiamante fino a quando una delle seguenti condizioni si verifica:
Anteprima
Vedrai una selezione di 1 pagina su 3
Sistemi operativi - Syscall semop Pag. 1
1 su 3
D/illustrazione/soddisfatti o rimborsati
Acquista con carta o PayPal
Scarica i documenti tutte le volte che vuoi
Dettagli
SSD
Scienze matematiche e informatiche INF/01 Informatica

I contenuti di questa pagina costituiscono rielaborazioni personali del Publisher N. A. di informazioni apprese con la frequenza delle lezioni di Sistemi operativi e studio autonomo di eventuali libri di riferimento in preparazione dell'esame finale o della tesi. Non devono intendersi come materiale ufficiale dell'università Università degli studi di Napoli Federico II o del prof Cotroneo Domenico.
Appunti correlati Invia appunti e guadagna

Domande e risposte

Hai bisogno di aiuto?
Chiedi alla community