[Actualités]
Apple va lancer le M8 Ultra pour les tâches liées à l'IA
[Actualités]
AMD prépare un concurrent à DLSS 5.
[Actualités]
L'écran de l'iPhone Duo coûte 250 dollars.
[Actualités]
Test Splatoon Raiders (Nintendo Switch 2) - Un épisode pensé pour le solo ?
[Actualités]
Claude Revolution : Chat, coworking, documents, présentations et design dans un...
[Actualités]
Spotify vous permet enfin d'exclure la musique pour enfants de votre profil de g...
[Actualités]
Les processeurs AMD Ryzen vont eux aussi bientôt devenir plus chers
[Actualités]
L'Europe défie Microsoft. EuroOffice fait un grand pas en avant.
[Actualités]
PS6 Portable : Fuites concernant la configuration
[Actualités]
Google a corrigé une faille de sécurité dans le modem des smartphones Pixel
[Articles]
Attention au SparroWock : la porte dérobée qui mord, les commandes qui piègen...
[Articles]
The Legend of Heroes: Trails from Zero + Trails to Azure Deluxe Edition
[Articles]
1000xRESIST
[Articles]
Resident Evil : Death Island
[Articles]
Mate'Morphosis
[Articles]
Splatoon Raiders
[Articles]
Marvel's Wolverine
[Articles]
Glitch tome 1
[Articles]
OURS ! tome 1
[Articles]
RIN: The Last Child
Se connecter
Se connecter
Inscription
Mot de passe perdu
Connexion
Actualités
Lettre d'information
Proposer une actualité
Archives
Actualités
Articles
Programmation
Press Release
Matériel
Logiciels
Livres
Bandes Dessinées
Interviews
Derniers commentaires
Jeux Vidéos
PC
PlayStation 5
Xbox Series X
Nintendo Switch 2
Nintendo Switch
PlayStation 4
Autres plateformes
Forum
Derniers messages
Informatique
Fun
Divers
Logithèque
Blogs
Divers
A Propos
Annonceurs
Contact
Recherche
RSS
Se connecter
Se connecter
Inscription
Mot de passe perdu
Connexion
Editer un article
Titre
Mots Clés
Texte
[size=18] [b]Nom[/b] [/size] semget - Obtenir l'identificateur d'un ensemble de sémaphores. [size=18] [b]Résumé[/b] [/size] .nf [b]#include
[/b] [b]#include
[/b] [b]#include
[/b] .fi [b][i]int semget (key_t key ,[/i][/b] [b][i]int nsems ,[/i][/b] [b][i]int semflg );[/i][/b] [size=18] [b]Description[/b] [/size] Cette fonction retourne l'identificateur de l'ensemble de sémaphores associé à la valeur de clé [b]key .[/b] Un nouvel ensemble contenant [i]nsems[/i] sémaphores est créé si [i]key[/i] a la valeur [b]IPC_PRIVATE[/b] ou si aucun ensemble n'est associé à [b]key ,[/b] et si l'option [b]IPC_CREAT[/b] est présente dans [i]semflg.[/i] (i.e. [b]semflg &[/b] [b]IPC_CREAT[/b] différent de zéro). La présence de [b]IPC_CREAT[/b] et [b]IPC_EXCL[/b] dans le champ [i]semflg[/i] joue le même rôle, par rapport à l'existence du jeu de sémaphores, que la présence de [b]O_CREAT[/b] et [b]O_EXCL[/b] dans l'argument de mode de l'appel système [b]open (2)[/b] i.e. la fonction [b]semget[/b] échouera si [i]semflg[/i] demande à la fois [b]IPC_CREAT[/b] et [b]IPC_EXCL[/b] et si un sémaphore associé a [i]key [/i] existe déjà. Pendant la création, les 9 bits de poids faibles de l'argument [i]semflg[/i] définissent les permissions d'accès (pour le propriétaire, le groupe et les autres) au jeu de sémaphores, en utilisant le même format et la même signification que les droits d'accès dans [b]open (2)[/b] ou [b]creat (2).[/b] Les permissions d'exécutions ne sont pas utilisées par le système, et pour un jeu de sémaphores, l'autorisation d'écriture signifie autorisation de modification. Durant la création, la structure de données [b]semid_ds[/b] contrôlant le jeu de sémaphores est initialisée ainsi : [b]sem_perm.cuid[/b] [table][row][col] [/col][col]et [b]sem_perm.uid[/b] contiennent l'UID effectif du processus appelant.[/col][/row][/table] [b]sem_perm.cgid[/b] [table][row][col] [/col][col]et [b]sem_perm.gid[/b] contiennent le GID effectif du processus appelant.[/col][/row][/table] [table][row][col] [/col][col]le 9 bits de poids faibles de [b]sem_perm.mode[/b] sont remplis avec les 9 bits de poids faibles de [b]semflg .[/b][/col][/row][/table] [b]sem_nsems[/b] [table][row][col] [/col][col]reçoit la valeur [b]nsems .[/b][/col][/row][/table] [b]sem_otime[/b] [table][row][col] [/col][col]est mis a 0.[/col][/row][/table] [b]sem_ctime[/b] [table][row][col] [/col][col]est rempli avec l'heure actuelle.[/col][/row][/table] l'argument [i]nsems[/i] peut valoir [b]0[/b] (ignore) si l'appel système n'est pas une création d'ensemble de sémaphores. Autrement [i]nsems[/i] doit être supérieur à [b]0[/b] et inférieur ou égal au nombre maximal de sémaphores par ensemble, [b]( SEMMSL ).[/b] Si le jeu de sémaphores existe déjà, les permissions d'accès sont contrôlées, et l'on vérifie si l'ensemble est sur le point d'être détruit. [size=18] [b]Valeur renvoyée[/b] [/size] Si l'appel réussit, il renvoie l'identificateur de l'ensemble (un entier positif), sinon il renvoie [b]-1[/b] et [b]errno[/b] contient le code d'erreur. [size=18] [b]Erreurs[/b] [/size] [b]Eaccès[/b] [table][row][col] [/col][col]Le jeu de sémaphore associé à [b]key [/b] existe, mais le processus n'a aucun droit d'accès sur lui[/col][/row][/table] [b]EEXIST[/b] [table][row][col] [/col][col]Le jeu de sémaphore associé a [b]key[/b] existe mais l'argument [i]semflg[/i] précise à la fois [b]IPC_CREAT[/b] et [b]IPC_EXCL .[/b][/col][/row][/table] [b]ENOENT[/b] [table][row][col] [/col][col]Aucun jeu de sémaphore associé a [i]key[/i] n'existe et l'argument [i]semflg[/i] ne précise pas [b]IPC_CREAT .[/b][/col][/row][/table] [b]EINVAL[/b] [b]nsems[/b] [table][row][col] [/col][col]est inférieur à zéro ou supérieur à la limite sur le nombre de sémaphores par ensemble, [b]( SEMMSL ),[/b] ou l'ensemble de sémaphores identifié par [i]key[/i] existe déjà, et [i]nsems[/i] est plus grand que le nombre de sémaphores par ensemble..[/col][/row][/table] [b]ENOMEM[/b] [table][row][col] [/col][col]Pas assez de mémoire pour créer les structures nécessaires.[/col][/row][/table] [b]ENOSPC[/b] [table][row][col] [/col][col]Le nombre maximal de jeux de sémaphores sur le système [b]( SEMMNI )[/b] est atteint, ou le nombre maximal de sémaphores sur le système est atteint [b]( SEMMNS ).[/b][/col][/row][/table] [size=18] [b]Notes[/b] [/size] [b]IPC_PRIVATE[/b] n'est pas une option, mais un objet de type [b]key_t .[/b] Si l'on utilise cette valeur spéciale dans l'argument [b]key ,[/b] l'appel système ne se préoccupera que des 9 bits de poids faibles de [i]semflg[/i] et tentera de créer un nouveau jeu de sémaphores. Les limites suivantes concernent l'appel système [b]semget :[/b] [b]SEMMNI[/b] [table][row][col] [/col][col]Nombre maximal d'ensembles de sémaphores sur le système.[/col][/row][/table] [b]SEMMSL[/b] [table][row][col] [/col][col]Nombre maximal de sémaphores par ensemble.[/col][/row][/table] [b]SEMMNS[/b] [table][row][col] [/col][col]Nombre maximal de sémaphores sur le système : dépend de l'implémentation. Les valeurs supérieures à [b]SEMMSL * SEMMNI[/b] sont incorrectes.[/col][/row][/table] [size=18] [b]Bugs[/b] [/size] L'utilisation de [b]IPC_PRIVATE[/b] n'empêche pas les autres processus d'accéder au jeu de sémaphores alloué. Le choix de ce mot est malheureux, il aurait mieux valu utiliser IPC_NEW. Les structures de données associées a chaque sémaphore dans l'ensemble ne sont pas initialisées lors de l'appel système. Pour effectuer cette initialisation, il faut exécuter un appel à [b]semctl (2)[/b] avec les commandes [b]SETVAL[/b] ou [b]SETALL.[/b] [size=18] [b]Conformité[/b] [/size] SVr4, SVID. SVr4 documente des conditions d'erreur supplémentaires EFBIG, E2BIG, EAGAIN, ERANGE, et EFAULT. [size=18] [b]Voir aussi[/b] [/size] [b]ftok (3),[/b] [b]ipc (5),[/b] [b]semctl (2),[/b] [b]semop (2).[/b] [size=18] [b]Traduction[/b] [/size] Christophe Blaess, 1996-2003.
Fichier
Newsletter
Recevez les dernières actualités tech directement dans votre boîte mail.
S'inscrire
Forum
-
Derniers messages
Réseaux et Télécom
Edpnet
Bavardages
Séries TV, vous regardez quoi?
Bavardages
Aujourd'hui, je rénove ou je construis ^^
Informations
Besoin d’avis sur l’UX de mon mini-projet web (et plus globalement sur ce qui vous rebute sur un site) ?
Software
problème sur windows 10
Réseaux et Télécom
Problème wifi (POE)
Software
Postfix - Need help
Bavardages
Oh râge oh désespoir !
Programmation
Enregistrement client et envoi mail
Software
SÉCURITÉ MACBOOK
Actualités
-
Archives
Apple
17-09
Apple va lancer le M8 Ultra pour les tâches liées à l'IA
AMD
17-09
AMD prépare un concurrent à DLSS 5.
Apple
17-09
L'écran de l'iPhone Duo coûte 250 dollars.
Jeux Vidéos
17-09
Test Splatoon Raiders (Nintendo Switch 2) - Un épisode pensé pour le solo ?
Programmation
17-09
Claude Revolution : Chat, coworking, documents, présentations et design dans une seule interface.
Ada
CSS
Cobol
CPP
HTML
Fortran
Java
JavaScript
Pascal
Perl
PHP
Python
SQL
VB
XML
Anon URL
DailyMotion
eBay
Flickr
FLV
Google Video
Google Maps
Metacafe
MP3
SeeqPod
Veoh
Yahoo Video
YouTube
6px
8px
10px
12px
14px
16px
18px
Informaticien.be
- © 2002-2026
Akretio
SRL - Generated via
Kelare
Haut de page