Re: Portierungsproblem

From: Bernd Walter <ticso(at)cicely9.cicely.de>
Date: Sun, 23 Mar 2003 20:15:13 +0100

On Sun, Mar 23, 2003 at 07:13:32PM +0100, Jens Rehsack wrote:
> Michael Gusek wrote:
> >Ich portiere gerade ein kleines Programm von Linux nach FreeBSD. Das
> >Programm benutzt eine Funktion namens "mlockall". In der Headerdatei
> >/usr/include/sys/mman.h bin ich auch fündig geworden. Leider bekomme ich
> >beim
> Die Header-Datei von 4.7 steht die Funktion bei mir auch drin :-), aber
> es existiert scheinbar keine Implementation, die den entsprechenden
> syscall durchführt.
>
> Auf meinem 5.0 steht in /usr/include/sys/mman.h:
> '* XXX not yet implemented: mlockall(), munlockall(), posix_madvise(),'
>
> >kompilieren diese Fehlermeldung:
> >grab.o(.text+0x1c0): undefined reference to `mlockall'

Es wäre viel wichtiger zu wissen, warum ein Program sowas will.
Und ob das wirklich nötig ist.

> Vielleicht hilft Dir ja google, eine Implementation zu finden, die ohne
> auskommt. Soweit ich die Doku von mlock() verstanden habe, sollte ein
> geziehltes Locking der relevanten Speicherbereiche durchaus möglich sein.

Ja - es gibt Fälle, bei denen man das in begrenztem Rahmen braucht.
Beispielsweise, um zu verhindern, daß ein Schlüssel oder Passwort auf
die swappartition gelangt.
Ein mlockall zeigt aber, daß ein Programmierer sich keine Gedanken
machen wollte.
Sowas ist schlechter Stil.
Und sollte man beim Portieren gleich fixen.

> >Unter Linux befindet sich die Funktion in der libc, bei einem grep in
> >/usr/lib bin ich leider nicht fündig geworden. Wo könnte ich noch suchen ?

Versuche lieber herauszubekommen, was der Programmierer in Wirklichkeit
vor hatte.

-- 
B.Walter                   BWCT                http://www.bwct.de
ticso(at)bwct.de                                  info(at)bwct.de
To Unsubscribe: send mail to majordomo(at)de.FreeBSD.org
with "unsubscribe de-bsd-questions" in the body of the message
Received on Sun 23 Mar 2003 - 20:15:36 CET

search this site