Re: Shared Memory und ein Leak
Hallo Thomas,
Am 02.04.21 um 10:21 schrieb Thomas Noll:
>> Welche Information habe ich übersehen? Was muss ich ausser shmdt() noch tun?
>
> Ich vermute, mit shmctl IPC_RMID das Segment zur Deletion markieren.
>
>
> man shmdt:
> ..
> shm_nattch is decremented by one. If it becomes 0 and the seg‐
> ment is marked for deletion, the segment is deleted.
> ...
>
Ich bräuchte kein Shared Memory, wenn ich ihn gleich wieder zerstöre.
Ein Thread startet und erzeugt den SHM, wenn er noch nicht da war. Die
nächsten Threads verwenden diesen dann.
Ich habe den Verdacht, dass der Thread nicht den SHM erzeugen darf (mit
shmget(key, roundedsize, 0666 |IPC_CREAT|IPC_EXCL );)
sondern nur verwenden, dass der Daemon-Prozess die Erzeugung machen
muss, bevor der Thread gestartet wird.
Wäre blöd, weil der daemon viele verschieden SHM-Bereiche anspricht...
Manfred
--
Manfred Rebentisch
Reply to: