Museum

Home

Lab Overview

Retrotechnology Articles

Online Manuals

⇒ maillock(3X) — Reliant UNIX 5.44c4

Media Vault

Software Library

Restoration Projects

Artifacts Sought

maillock(3X)                                                   maillock(3X)

NAME
     maillock, mailunlock - Sperrdatei für Mailbox eines Benutzers verwal-
     ten

SYNTAX
     cc [option ...] datei ... -lmail

     #include <maillock.h>

     int maillock(const char *user, int retrycnt);

     int mailunlock(void);

BESCHREIBUNG
     Die Funktion maillock() versucht, für die Mail-Datei eines Benutzers
     eine Sperrdatei anzulegen. Wenn bereits eine Sperrdatei existiert,
     geht maillock() davon aus, daß der Inhalt der Datei die Prozeßnummer
     des Prozesses angibt (als ASCII-Zeichenkette, die durch ein Nullzei-
     chen abgeschlossen ist), der die Sperrdatei angelegt hat (vermutlich
     durch einen Aufruf von maillock()). Wenn der Prozeß, der die Sperrda-
     tei angelegt hat, noch immer vorhanden ist, wartet maillock() retrycnt
     mal, bevor ein Fehler signalisiert wird. Dabei wird fünf Sekunden mal
     die angegebene Anzahl gewartet. Das bedeutet, das erste Warten dauert
     fünf Sekunden, das nächste Warten dauert zehn Sekunden, usw., bis die
     Anzahl Versuche den Wert von retrycnt erreicht. Wenn die Sperrdatei
     nicht länger benötigt wird, sollte sie durch den Aufruf der Funktion
     mailunlock() entfernt werden.

     user bezeichnet den Login-Namen des Benutzers, für dessen Mailbox eine
     Sperrdatei angelegt wird. maillock() geht davon aus, daß sich die
     Mail-Dateien des Benutzers am vorgesehenen Speicherplatz befinden, wie
     in maillock.h definiert.

     Die folgenden Definitionen von Ergebniswerten sind in maillock.h ent-
     halten:

     #define   LSUCCESS   0 /* Sperrdatei angelegt oder entfernt */
     #define   LNAMELEN   1 /* Name des Empfängers > 13 Zeichen */
     #define   LTMPLOCK   2 /* Erzeugung der tmp. Datei nicht möglich */
     #define   LTMPWRITE  3 /* Schreiben der PID in Sperrdatei nicht
                                möglich */
     #define   LMAXTRYS   4 /* Nach retrycnt Versuchen gescheitert */
     #define   LERROR     5 /* Überprüfe errno für den Grund */
     #define   LMANLOCK   6 /* Pflichtsperre konnte nicht gesetzt
                                werden */










Seite 1                      Reliant UNIX 5.44               Gedruckt 11/98

maillock(3X)                                                   maillock(3X)

HINWEISE
     mailunlock() entfernt nur die Sperrdatei, die durch den neuesten Auf-
     ruf von maillock() angelegt wurde. Der Aufruf von maillock() für ver-
     schiedene Benutzer, ohne dazwischenliegende Aufrufe von mailunlock(),
     führt dazu, daß die zuerst angelegten Sperrdateien bestehen bleiben
     und eventuell die weitere Auslieferung von Nachrichten verhindert
     wird, solange der momentane Prozeß nicht terminiert.

DATEIEN
     LIBDIR/llib-mail.ln

     LIBDIR/libmail.a

     /var/mail/*

     /var/mail/*.lock






































Seite 2                      Reliant UNIX 5.44               Gedruckt 11/98

Typewritten Software • bear@typewritten.org • Edmonds, WA 98026