Anzeige:
Ergebnis 1 bis 4 von 4

Thema: queue aus Speicher entfernen

  1. #1
    Dschensen
    Gast

    queue aus Speicher entfernen

    Hallo!

    Ich habe folgendes Problem. Ich programmiere nach Posix eine einfache Echtzeitanwendung. Wenn ich nun (durch ungewollten Programmabbruch o.ä.) eine Message Queue nicht mit mq_unlink entferne, bleibt der Name der Queue beim nächsten Programmaufruf gesperrt. Das ist für die Entwicklungszeit ungemein störend. Wie kann ich den Speicher von der Queue-Leiche befreien?

  2. #2
    Registrierter Benutzer
    Registriert seit
    08.07.2002
    Beiträge
    377
    eventuell koenntest du im Program das Signal abfangen mit dem dein Programm beendet wird und damit die Queue entfernen.
    Amilo D - 2,8 Ghz - ATI Radeon 9000
    Debian GNU/Linux 3.1 (Sarge)

  3. #3
    Administrator Avatar von anda_skoa
    Registriert seit
    17.11.2001
    Ort
    Graz, Österreich
    Beiträge
    5.477
    Vielleicht hilft dir das Tool
    ipcrm
    weiter

    Ciao,
    _
    Qt/KDE Entwickler
    Debian Benutzer

  4. #4
    Registrierter Benutzer
    Registriert seit
    07.05.2007
    Beiträge
    656
    Zitat Zitat von nul Beitrag anzeigen
    eventuell koenntest du im Program das Signal abfangen mit dem dein Programm beendet wird und damit die Queue entfernen.
    Ja, das geht mit signal(), mit dem man den relevanten Signalen einen Handler zuweisen kann. siehe man signal. Was man allerdings beachten muss: SIGKILL und SIGSTOP lassen sich nicht abfangen, in diesem Fall muss man auf externe Tools wie von anda_skoa empfohlen zurückgreifen.

    Jan

Lesezeichen

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •