Bruce Momjian <[EMAIL PROTECTED]> writes:
> I also changed all the pid variables to use pid_t.

Good, but ...

> !     fscanf(pidf, "%u", &pid);

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;


                        regards, tom lane

---------------------------(end of broadcast)---------------------------
TIP 1: subscribe and unsubscribe commands go to [EMAIL PROTECTED]

Reply via email to