On 11/21/06, Alexey Varlamov <[EMAIL PROTECTED]> wrote:
2006/11/21, Evgueni Brevnov <[EMAIL PROTECTED]>:
> On 11/21/06, Alexey Varlamov <[EMAIL PROTECTED]> wrote:
> > 2006/11/21, Tim Ellison <[EMAIL PROTECTED]>:
> > > Evgueni Brevnov wrote:
> > > > On 11/21/06, Geir Magnusson Jr. <[EMAIL PROTECTED]> wrote:
> > > >>
> > > >> Evgueni Brevnov wrote:
> > > >> >
> > > >> > As it was discussed earlier (and I think agreed) the System.exit()
> > > >> > should terminate entire process the VM is running in right after it
> > > >> > executed shutdown hooks and finalizes.
> > > >>
> > > >> I don't think so.  How could you embed the VM in another program?
> > > >
> > > > My initial understanding was that System.exit() shouldn't terminate
> > > > the process. But the experiments proved the opposite. AFAIU if you
> > > > want to embed the application then it should not call System.exit().
> > >
> > > I was surprised to see the results of you experiment too -- I'd have
> > > failed that Java pop-quiz question!
> > >
> > > > I don't see any problems to extend the proposal to the case of
> > > > System.exit() so that the process will not be stopped. But, do we want
> > > > such incompatibility with RI?
> > >
> > > No, we can't change that -- if people expect the program to exit() it we
> > > will see hangs everywhere.  As somebody (I forget) wrote at the time, it
> > > becomes the responsibility of the app to set the security policy to
> > > disallow exit() if they expect the Process to live on.
> >
> > Policy would not help here actually, javadoc for
> > java.lang.RuntimePermission says:
> > "The "exitVM.*" permission is automatically granted to all code loaded
> > from the application class path, thus enabling applications to
> > terminate themselves."
> > And normally it is hardly possible to bypass the default system
> > classloader, one need to hack standard classloading delegation
> > mechanism.
>
> Is there any way to influence default policy?
AFAIU this not a policy, just hardcoded static permissions granted by
the system classloader when a class is defined - much like any
URLClassLoader grants access to the class own URL.

Aha, you are right.... I recall the game with an exitVM permission...

>
> >
> > >
> > > Regards,
> > > Tim
> > >
> > > --
> > >
> > > Tim Ellison ([EMAIL PROTECTED])
> > > IBM Java technology centre, UK.
> > >
> >
>

Reply via email to