[linux-l] Debian-Mirror der belug...

Tobias Schlottke toby at schlottke.net
Mo Okt 13 10:31:43 CEST 2003


On Fri, 10 Oct 2003, Steffen Dettmer wrote:

> > Man kann sich selbst also einfach nochmal starten aber das ist
> > dann eben aus Java Sicht ein richtig neuer Prozess und hat mit
> > dem alten nix mehr gemein.
>
> Kann das wirklich Java, oder ist das irgendeine Erweiterung oder
> so?

Nee, richtig plain Java, geht seit 1.0.
(Runtime.getRuntime().exec(String...)

> Es gibt doch auch kein setuid in Java (oder?).
Nee, das würde ja schon bei Windows scheppern.  Und
wenn's da nich geht, kann man wohl nicht mehr von
plattformunabhängig sprechen.

> > <Überleg grübel>, vielleicht sollte man das einfach mal
> > ausprobieren wenn man sich ein simplen fork-wrapper schreibt.
> > Dann hat man halt zwei virtelle Maschinen die ab dem Zeitpunkt
> > X genau den gleichen Zustand haben.
>
> Du meinst, aus dem JNI ganz brutal forken, ja? Ist natürlich mit
> Vorsicht zu genießen, klar, auch alle Threads werden kopiert.
> Geht vermutlich auch nur in kleinen Anwendungen, wo man noch alle
> Threads persönlich kennt :)

:-))) genau so.

> > Dann muß man nur dafür sorgen, daß sich Papa und Kind darüber
> > einig sind, wer sich um welchen Deskriptor kümmert. Der
> > Garbagekollektor räumt Sockets weg ohne sie zu schließen, das
> > wär an der Stelle sogar ein Feature und kein Bug.
>
> Warum? Dann wird der Socket ja im jeweils anderen Prozeß nicht
> geschlossen und damit später nicht wiederverwendet werden, weil
> das OS davon ja nix weiß. Ich find das ist ein Bug.
>
> Hier ist noch das Problem, daß man im Falle eines Sockets den
> Filedesriptor in einem Prozeß mit close schließen muß (sonst wird
> ja die Verbindung abgebaut) und im anderen mit shutdown (sonst
> steht die Verbindung auf der "anderen" Seite ewig) - wüßte nicht,
> wie man das in Java hinkriegen könnte (ohne JNI)

Stimmt.... bißchen native brauch man halt. Find ich
aber nicht schlimm. z.B. brauchte ich gerade mal nen
raw-Socket. Gibt's so natürlich auch nicht. Baut man
sich nen Wrapper und gut is.

Toby




Mehr Informationen über die Mailingliste linux-l