>I think Magnus had the right idea.  We should invent a completely
>separate opaque struct that contains *only* the fields that
>PQrequestCancel actually needs (the hostname, port, and secret key;
>anything else?) and make a function to create one of these from a
>PQconn.  This struct could then be read-only as far as the thread-safe
>variant of PQrequestCancel is concerned.
>The error message return convention used by PQrequestCancel 
>leaves a lot
>to be desired as well; I'd be inclined to think of something else for
>the new variant of PQrequestCancel.  Possibly have the caller supply a
>buffer to write into.
>We could probably reimplement the existing PQrequestCancel on 
>top of the
>cleaner version, or at least find some way to share code.  But
>basically, the API it has now is pretty bogus.  (I think I can 
>say that,
>since I invented it ;-))

Here is an attempt at this. First patch contains the changes to libpq,
second patch contains changes to psql to use this API. Docs not updated
yet, pending approval of the general idea at least :)

(Tested on win32 and slackware linux)


Attachment: pq.patch
Description: pq.patch

Attachment: psql.patch
Description: psql.patch

---------------------------(end of broadcast)---------------------------
TIP 3: if posting/reading through Usenet, please send an appropriate
      subscribe-nomail command to [EMAIL PROTECTED] so that your
      message can get through to the mailing list cleanly

Reply via email to