Thread: libpy and ENABLE_THREAD_SAFETY=1

libpy and ENABLE_THREAD_SAFETY=1

From
"Pit M."
Date:
Is the standard libpq.dll distributed by PostgreSQL8.0 for windows
thread safe by default ?

Pit


Re: libpy and ENABLE_THREAD_SAFETY=1

From
"Magnus Hagander"
Date:
> Is the standard libpq.dll distributed by PostgreSQL8.0 for
> windows thread safe by default ?

No.
It is safe as long as you use each PGconn on a separate thread but you
cannot share the same PGconn between threads.

//Magnus

Re: libpy and ENABLE_THREAD_SAFETY=1

From
"Magnus Hagander"
Date:
> >>Is the standard libpq.dll distributed by PostgreSQL8.0 for windows
> >>thread safe by default ?
> >>
> >>
> >
> >No.
> >It is safe as long as you use each PGconn on a separate
> thread but you
> >cannot share the same PGconn between threads.
> >
> >//Magnus
> >
> >
> >
> >
> But what if I compile the DLL using ENABLE_THREAD_SAFETY ?
> Can I then use one connection for multiple threads ?

In theory, but I beleive there are build issues in the currently
released version when it comes to building on win32 with
ENABLE_THREAD_SAFETY.

//Magnus

Re: libpy and ENABLE_THREAD_SAFETY=1

From
"Magnus Hagander"
Date:
> >In theory, but I beleive there are build issues in the currently
> >released version when it comes to building on win32 with
> >ENABLE_THREAD_SAFETY.
> >
> >//Magnus
> >
> >
> >
> >
> Thank you for this information.
>
> Your wrote: "In theory"
> Do you know anybody who has tested this ?
> I mean a person of the PostgreSQL core team.

Nope. I know Dave Page has been working on it (he's not core, but I'd
call him "core pg-win32" if such a term existed), but I'm unsure of
wether he has finished yet.

//Magnus

Re: libpy and ENABLE_THREAD_SAFETY=1

From
Pit Müller
Date:
Magnus Hagander wrote:

>>Is the standard libpq.dll distributed by PostgreSQL8.0 for
>>windows thread safe by default ?
>>
>>
>
>No.
>It is safe as long as you use each PGconn on a separate thread but you
>cannot share the same PGconn between threads.
>
>//Magnus
>
>
>
>
But what if I compile the DLL using ENABLE_THREAD_SAFETY ?
Can I then use one connection for multiple threads ?

Pit

Re: libpy and ENABLE_THREAD_SAFETY=1

From
Pit Müller
Date:
Magnus Hagander wrote:

>>>>Is the standard libpq.dll distributed by PostgreSQL8.0 for windows
>>>>thread safe by default ?
>>>>
>>>>
>>>>
>>>>
>>>No.
>>>It is safe as long as you use each PGconn on a separate
>>>
>>>
>>thread but you
>>
>>
>>>cannot share the same PGconn between threads.
>>>
>>>//Magnus
>>>
>>>
>>>
>>>
>>>
>>>
>>But what if I compile the DLL using ENABLE_THREAD_SAFETY ?
>>Can I then use one connection for multiple threads ?
>>
>>
>
>In theory, but I beleive there are build issues in the currently
>released version when it comes to building on win32 with
>ENABLE_THREAD_SAFETY.
>
>//Magnus
>
>
>
>
Thank you for this information.

Your wrote: "In theory"
Do you know anybody who has tested this ?
I mean a person of the PostgreSQL core team.

Pit