Innerhalb einer Linux Box benutze ich benannte Semaphoren um den Zugriff auf Systemressourcen zu kontrollieren, die von verschiedenen Prozessen benutzt werden.Umgang mit blockierten benannten Semaphoren nach einem Systemneustart
Wenn das System versehentlich abstürzt, kann es vorkommen, dass ein Semaphor erfasst, aber noch nicht zurück gegeben wurde. Angesichts dieser Situation bemerkte ich, dass der Semaphor auch nach einem Neustart immer noch in einem gesperrten Zustand ist.
Um eine solche Situation zu überwinden, wäre es in Ordnung, den Semaphor beim Systemstart zu trennen, bevor er erneut von einem oder mehreren Prozessen verwendet wird? Oder wäre es besser, ihm einen sem_post() zu geben, bis der Semaphor freigegeben wird?
BTW:
Wo Semaphore intern gespeichert sind. Ich frage mich, warum sie Systemneustarts überleben.