Re: [GENERAL] fork() bad

Поиск
Список
Период
Сортировка
От M Simms
Тема Re: [GENERAL] fork() bad
Дата
Msg-id 199903221408.OAA28600@argh.demon.co.uk
обсуждение исходный текст
Ответ на fork() bad  (Richi Plana <richip@mozcom.com>)
Ответы Re: [GENERAL] fork() bad  (Richi Plana <richip@mozcom.com>)
Список pgsql-general
>
> Hi,
>
> I'm probably doing something wrong here.
>
> My process establishes a connection with a PostgreSQL backen and then
> fork()s (twice, actually). To make things even more complicated (though I
> don't know if it affects things), my connection handle is a global
> variable in a dynamically-loaded shared object.
>
> I tried PQreset()ing the connections after forking and then I'd try a
> begin but I'd get the ff.:
>
> NOTICE:  BeginTransactionBlock and not in default state
>
> What does that mean?
>
>
> So, what's the deal with fork()ing and connections?
>

Well, Ive not looked at the code, but I should be right here.

If you fork, you will have two processes pumping data down the same
connection to the database, cos the fork() will simply duplicate the
file descriptor reference, not make you a new connection. If two
forked() processes try and send data or retrieve data at the same
time, everything will break, as the database obviously will not know
what the hell is going on and will get a mangled transmission

В списке pgsql-general по дате отправления:

Предыдущее
От: Richi Plana
Дата:
Сообщение: fork() bad
Следующее
От: Richi Plana
Дата:
Сообщение: Re: [GENERAL] fork() bad