fcntl problem bzw. verständnissfrage zu F_GETLK



  • Hallo zusammen,

    ich hoffe ich bin hier im richtigen Bereich und ihr könnt mir helfen. Ich beschäftige mich gerade mit der Funktion fcntl und da speziell mit schreib und lese sperren.

    ich möchte eine datei bevor ich sie sperre prüfen ob schon eine sperre auf dieser datei liegt.

    fcntl(fd, F_GETLK, &savelk);
    

    das frage ich dann ab mit der if-abfrage

    if (savelk.l_type == F_RDLCK) { 
    //tue was gebe pid aus 
    } else if (savelk.l_type == F_WRLCK) { 
    //tue was gebe pid aus
    }
    

    ich lasse mir dann noch ausgeben welche pid das ganze sperrt etc.

    Mein Problem ist nun das immer eine RDLCK gesetzt zu sein scheint 😞 die pid ist im negativen bereich also gehe ich davon aus, dass savelk per se erstmal nicht richtig funktioniert.

    Könnt ihr mich aufklären?

    Beste Grüße
    Phenol



  • Wurde savelk vorher zurückgesetzt? Gibt fcntl einen Fehler zurück?


Anmelden zum Antworten