commit-classpath
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

RE: Patch: File.deleteOnExit()


From: Jeroen Frijters
Subject: RE: Patch: File.deleteOnExit()
Date: Tue, 18 May 2004 08:33:25 +0200

Hi,

The static initializer only runs when add() is called for the first time.

Regards,
Jeroen 

> -----Original Message-----
> From: Ingo Prötel [mailto:address@hidden 
> Sent: Monday, May 17, 2004 19:27
> To: Jeroen Frijters
> Cc: Michael Koch; address@hidden
> Subject: Re: Patch: File.deleteOnExit()
> 
> Hi,
> 
> I would vote for Michaels solution. Having a static 
> initializer that creates a Thread which might 
> never be used seems wasteful.
> 
> Cheers,
> ingo
> 
> Jeroen Frijters wrote:
> > Michael Koch wrote:
> > 
> >>Am Montag, 17. Mai 2004 12:40 schrieb Jeroen Frijters:
> >>
> >>>Michael Koch wrote:
> >>>
> >>>>The attached patch written by Guilhem Lavaux implements
> >>>>File.deleteOnExit() in an easy way.
> >>>>
> >>>>Ok to commit ?
> >>>
> >>>It doesn't make me happy to preallocate all these objects (and in
> >>>general, the less static initializers the better). Shouldn't we
> >>>just move DeleteFileHelper to gnu.java.io (or whatever) and make it
> >>>a proper singleton? That way the singleton will be allocated lazily
> >>>upon first use of File.deleteOnExit().
> >>
> >>Here is a revised patch for review:
> > 
> > 
> > Thanks! I think it would be slightly better to do:
> > 
> > +public final class DeleteFileHelper extends Thread
> > +{
> > +  private static LinkedList filesToDelete = new LinkedList();
> > +
> > +  static
> > +  {
> > +    Runtime.getRuntime().addShutdownHook(new DeleteFileHelper());
> > +  }
> > +
> > +  public static void add(File file)
> > +  {
> > +    filesToDelete.add(file);
> > +  }
> > +
> > +  private DeleteFileHelper()
> > +  {
> > +  }
> > 
> > Since we already had a static initializer (to initialize the static
> > filesToDelete field), it's better to leverage it to do the call to
> > addShutdownHook as well. I also made the constructor private.
> > 
> > Regards,
> > Jeroen
> > 
> > 
> > _______________________________________________
> > Commit-classpath mailing list
> > address@hidden
> > http://mail.gnu.org/mailman/listinfo/commit-classpath
> > 
> 
> -- 
> Ingo Prötel                                          address@hidden
> aicas GmbH                                        http://www.aicas.com
> Haid-und-Neu-Str. 18                        phone   +49 721 663 968-32
> 76131 Karlsruhe                             fax     +49 721 663 968-93
> Germany
> 




reply via email to

[Prev in Thread] Current Thread [Next in Thread]