Обсуждение: Problem using libpsql.a

Поиск
Список
Период
Сортировка

Problem using libpsql.a

От
"Chris Williams"
Дата:
I have an application that forks of a process and is updating a table in my postgres database.  When
I have the parent process query that table to see how much has completed I get weird results.
Sometimes it works, sometimes it core dumps, and sometimes I get back a NULL results structure.  But
if I type that same query into my psql window, I get back the correct results everytime.  Currently
I don't do any type of locking on any of the tables.  My question is should I be doing some locking
and why is the query using the psql command prompt working and my direct call in my C code isn't?
Thanks!!
---------
Chris Williams
Sterling Software
Rome, New York
Phone: (315) 336-0500
Email: chris_d_williams@sterling.com


RE: [INTERFACES] Problem using libpsql.a

От
Craig Orsinger
Дата:
On 09-Sep-98 Chris Williams wrote:
> I have an application that forks of a process and is updating a table in my
> postgres database.  When
> I have the parent process query that table to see how much has completed I
> get weird results.
> Sometimes it works, sometimes it core dumps, and sometimes I get back a NULL
> results structure.  But
> if I type that same query into my psql window, I get back the correct results
> everytime.  Currently
> I don't do any type of locking on any of the tables.  My question is should I
> be doing some locking
> and why is the query using the psql command prompt working and my direct call
> in my C code isn't?

        Looks to me like your parent process may be getting interrupted
by the SIGCHLD signal from the child process. Are you examining errno on
return from your query? Might want to do that and print out the value if
it's something other than '0'.


----------------------------------
Date: 09-Sep-98  Time: 14:09:38

Craig Orsinger                  (email: <orsingerc@epg.lewis.army.mil>)
Logicon RDA
Bldg. 8B28                      "Just another megalomaniac with ideas above his
6th & F Streets                 station. The Universe is full of them."
Ft. Lewis, WA   98433                   - The Doctor
----------------------------------