Warum wirft mkdir() ein SIG34?

12/03/2014 - 09:55 von Edzard Egberts | Report spam
Ich stehe gerade etwas auf dem Schlauch - funktioniert und ist trotzdem
ein Fehler?

string VZ= "/mnt/sdb4/daten"; // VZ ist für User Ed freigegeben

unsigned Rechte= S_IRUSR | S_IWUSR | S_IXUSR
| S_IRGRP | S_IWGRP | S_IXGRP
| S_IROTH | S_IWOTH | S_IXOTH;

if (mkdir(VZ.c_str(), Rechte)== -1) return false;

An dieser Stelle erhalte ich ein Signal "SIG34:Real-time event 34", das
Verzeichnis wird aber trotzdem angelegt.

Was will mir dieses Signal sagen? Liegt das an den Rechten? Mit "S_IRUSR
| S_IWUSR | S_IXUSR" passiert das auch und das müsste doch eigentlich
gehen, wenn ich als User frei auf das Parent-Directory zugreifen kann.

Muss mir wohl auch mal ein neues Buch kaufen - in meiner "Linux/Unix
Systemprogrammierung 2.Auflage" wird dieses Signal nicht einmal erwàhnt...
 

Lesen sie die antworten

#1 Thomas Jahns
12/03/2014 - 11:15 | Warnen spam
On 03/12/14 09:55, Edzard Egberts wrote:
unsigned Rechte= S_IRUSR | S_IWUSR | S_IXUSR
| S_IRGRP | S_IWGRP | S_IXGRP
| S_IROTH | S_IWOTH | S_IXOTH;



nur ein Detail, das vermutlich ohne Bedeutung ist: die Variable namens Rechte
sollte für mkdir(2) vom Typ mode_t sein.

Thomas

Ähnliche fragen