Your Browser is not longer supported
Please use Google Chrome, Mozilla Firefox or Microsoft Edge to view the page correctly
Loading...
{{viewport.spaceProperty.prod}}
shmdt - gemeinsam nutzbaren Speicherbereich abhängen
&pagelevel(4)&pagelevel
Definition | #include <sys/shm.h> int shmdt(const void*shmaddr); |
Beschreibung | shmdt() hängt das gemeinsam nutzbare Speichersegment vom Datensegment des aufrufenden Prozesses ab, das sich an der durch shmaddr angegebenen Adresse befindet.
Einschränkung Da in dieser Version des POSIX-Subsystems ein gemeinsam nutzbarer Speicherbereich nur existieren kann, wenn er an einen Prozess gebunden ist, weicht das Verhalten von shmdt() von XPG4 in folgendem Punkt ab: Wenn sich der letzte Prozess von einem gemeinsam nutzbaren Speicherbereich abgehängt hat, wird dieser Speicherbereich freigegeben. Der POSIX-Kernel behält jedoch die Verwaltungsinformationen über diesen Speicherbereich. Hängt sich nun ein anderer Prozess wieder an das gemeinsam nutzbare Speichersegment an, ist dessen früherer Inhalt verloren. (Ende) |
Returnwert | 0 | bei Erfolg. shmdt() dekrementiert den Wert von shm_attach in der Datenstruktur, die mit der Kennzahl des gemeinsam nutzbaren Speicherbereichs verbunden ist. |
| -1 | bei Fehler. Das gemeinsam nutzbare Speichersegment wird nicht abgehängt. errno wird gesetzt, um den Fehler anzuzeigen. |
Fehler | shmdt() schlägt fehl, wenn gilt:
|
| EINVAL
| Der Wert von shmaddr ist nicht die Datensegment-Startadresse eines gemeinsamen Speichersegments. |
Siehe auch | exec , exit() , fork() , shmat() , shmctl() , shmget() , sys/shm.h , Abschnitt "Interprozesskommunikation“.
|