Re: How to manage shared library lifetime through C functions

From: Craig Ringer <craig(at)2ndquadrant(dot)com>
To: Seref Arikan <serefarikan(at)gmail(dot)com>, pgsql-hackers(at)postgresql(dot)org
Subject: Re: How to manage shared library lifetime through C functions
Date: 2014-08-04 11:52:15
Message-ID: 53DF73EF.6070003@2ndquadrant.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

On 08/04/2014 06:31 PM, Seref Arikan wrote:
> Thanks a lot Heikki and Albe. Exactly what I was asking for.
> Heikki: the libraries are written in languages that have their own
> runtime and their documentation insists that both init and dispose calls
> are performed when used from C. PG_init() and proc_exit sounds spot on.

That's usually with reference to code that might then load them again,
such as another library. Without specifics it's hard to say.

If these tools depend on the C code terminating cleanly to operate
correctly then they'll also break if the OS crashes, the system loses
power, etc.

Exiting a program without calling cleanup is in many ways just a
particularly friendly kind of crash, and it's often actually much more
efficient than doing cleanup. Why neatly tidy the floor when you're
about to demolish the house? Total waste of time.

--
Craig Ringer http://www.2ndQuadrant.com/
PostgreSQL Development, 24x7 Support, Training & Services

In response to

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Seref Arikan 2014-08-04 13:08:14 Re: How to manage shared library lifetime through C functions
Previous Message Etsuro Fujita 2014-08-04 11:50:13 Re: Optimization for updating foreign tables in Postgres FDW