Skip site navigation (1) Skip section navigation (2)

Re: [HACKERS] New pg_ctl has retrogressed in error messages

From: Bruce Momjian <pgman(at)candle(dot)pha(dot)pa(dot)us>
To: Andrew Dunstan <andrew(at)dunslane(dot)net>
Cc: PostgreSQL-patches <pgsql-patches(at)postgresql(dot)org>
Subject: Re: [HACKERS] New pg_ctl has retrogressed in error messages
Date: 2004-06-01 01:27:43
Message-ID: 200406010127.i511Rhh14888@candle.pha.pa.us (view raw or flat)
Thread:
Lists: pgsql-hackerspgsql-patches
Andrew Dunstan wrote:
> 
> >this code will fail rather horribly if sizeof(pid_t) != sizeof(int).
> >Even more to the point, I believe a standalone backend will put
> >the negative of its PID into the file, and the revised code will fail
> >to parse that at all.
> >
> >I think the safest code would be like
> >
> >	long	tmp;
> >
> >	fscanf(pidf, "%ld", &tmp);
> >	if (tmp < 0)
> >	{
> >		tmp = -tmp;
> >		// do anything else needed for backend case
> >	}
> >	pid = (pid_t) tmp;
> >
> >
> >  
> >
> 
> I deliberately used a signed long for these reasons in the first place.
> 
> The number of places we actually need to use this value as a pid is 
> small (3 by my count - in calls to kill() ), and it was cast there to 
> pid_t,  I think.  I still don't see what's wrong with that.

OK, I created a typedef pgpid_t equal to long and used that in the code,
change format to %ld, and documented why negative values are an issue.

-- 
  Bruce Momjian                        |  http://candle.pha.pa.us
  pgman(at)candle(dot)pha(dot)pa(dot)us               |  (610) 359-1001
  +  If your life is a hard drive,     |  13 Roberts Road
  +  Christ can be your backup.        |  Newtown Square, Pennsylvania 19073

In response to

pgsql-hackers by date

Next:From: Oliver JowettDate: 2004-06-01 01:32:32
Subject: Re: Official Freeze Date for 7.5: July 1st, 2004
Previous:From: Andrew DunstanDate: 2004-06-01 01:07:07
Subject: Re: [HACKERS] New pg_ctl has retrogressed in error messages

pgsql-patches by date

Next:From: Bruce MomjianDate: 2004-06-01 02:01:34
Subject: Re: CVS tip problems
Previous:From: Andrew DunstanDate: 2004-06-01 01:07:07
Subject: Re: [HACKERS] New pg_ctl has retrogressed in error messages

Privacy Policy | About PostgreSQL
Copyright © 1996-2014 The PostgreSQL Global Development Group