From: | Brett McCormick <brett(at)work(dot)chicken(dot)org> |
---|---|
To: | pgsql-hackers(at)hub(dot)org |
Subject: | backend/frontend communication |
Date: | 1998-05-27 23:05:00 |
Message-ID: | 13676.39964.796228.430868@web0.speakeasy.org |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-hackers |
I'm rewriting my SSL for patch so it's a little less messy, and I've
come across something interesting.
What I've done is replaced Pfin,Pfout and Pfdebug with a struct called
PGcomm.
pqcomm.c had Pfin/Pfout/Pfdebug as "global" variables. some other c
files have "extern" entries for these variables. the in/out funcs in
pqcomprim.c take a FILE * as an argument instead of the extern
approach. I'm not sure there are any cases where the FILE * passed
differs from the one in the global Pfin, but to maintain consistency,
I haven't changed it. So the functions in pqcomm.c still access the
global copy of the PGcomm struct (my replacement for
Pfin/Pfout/Pfdebug) and pqcomprim.c still takes a PGcomm * as an
argument. There are actually little [f]read/[f]write system calls in
pqcomm.c, most of the communication takes place by calling pqcomprim.c
functions.
the reason i'm writing this mail are twofold, one is: are the
developers interested in merging my input/output changes into the
distribution. this has the benefit of making the io a little more
coherent, right now it seems sort of patched together, read/write
mixed with fread/fwrite, functions that do the same thing but take
different arguments, fread/fwrite in the actual code instead of
calling an appropriate function. this seems like a good idea to me.
we could also define an interface for implementing transport layers,
so my patch could be an add-on module.
so, the interesting part is this: there is a call to pq_putstr after
the client has disconnected. so, when I exit out of psql, I get an
error (with my patch) whereas before, if fputs gets a NULL pointer, it
doesn't signal an error for some reason. I've modified my patch to
match the behavoir, but it does seem a little odd. I will try to find
the place this is being called from, as it does not seem like a good
thing.
Let me know if I need to clarify.
From | Date | Subject | |
---|---|---|---|
Next Message | Michael Graff | 1998-05-27 23:14:03 | Re: [HACKERS] Off-topic: Communication. (was: Connect string again) |
Previous Message | Peter T Mount | 1998-05-27 21:03:24 | Re: [HACKERS] Off-topic: Communication. (was: Connect string again) |