Re: Initial refactoring of plperl.c - updated

From: Peter Eisentraut <peter_e(at)gmx(dot)net>
To: Tim Bunce <Tim(dot)Bunce(at)pobox(dot)com>
Cc: Andrew Dunstan <andrew(at)dunslane(dot)net>, pgsql-hackers(at)postgresql(dot)org
Subject: Re: Initial refactoring of plperl.c - updated
Date: 2010-01-10 00:19:36
Message-ID: 1263082776.1339.35.camel@vanquo.pezone.net
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

On sön, 2010-01-10 at 00:03 +0000, Tim Bunce wrote:
> On Sat, Jan 09, 2010 at 11:49:22PM +0000, Tim Bunce wrote:
> > On Sat, Jan 09, 2010 at 11:16:18PM +0200, Peter Eisentraut wrote:
> > > On fre, 2010-01-08 at 12:46 +0000, Tim Bunce wrote:
> > > > *** 45,50 ****
> > > > --- 45,55 ----
> > > >
> > > > include $(top_srcdir)/src/Makefile.shlib
> > > >
> > > > + plperl.o: perlchunks.h
> > > > +
> > > > + perlchunks.h: plc_*.pl
> > > > + $(PERL) text2macro.pl --strip='^(\#.*|\s*)$$' plc_*.pl >
> > > > perlchunks.htmp
> > > > + mv perlchunks.htmp perlchunks.h
> > > >
> > > > all: all-lib
> > >
> > > What's the reason for the temp file here?
> >
> > Defensive. If the text2macro.pl program fails/dies then you'd be left
> > with a broken output file with a newer timestamp, so the next make
> > wouldn't rerun text2macro.pl.
>
> An alternative would be for text2macro.pl to write to a temp file and
> rename at the end.

Sounds better. I think any program should be written such that it
doesn't produce an output file at all if it cannot produce a correct
output file. So use a temp file or a trap or something like that. The
makefile should not have to clean up after everyone.

In response to

Browse pgsql-hackers by date

  From Date Subject
Next Message Alvaro Herrera 2010-01-10 01:15:23 Re: mailing list archiver chewing patches
Previous Message Andrew Dunstan 2010-01-10 00:14:12 Re: Feature patch 1 for plperl [PATCH]