[Date Prev][Date Next] [Chronological] [Thread] [Top]

Re: Dynamic modules unloading



Коновалов Андрей Александрович wrote:
Hello!
I have OpenLDAP 2.4.24 built with -enable-dynamic and --enable-modules options

So, dynamic modules support is on and my question is:
Why can i load module

(for example:

dn: cn=module{0},cn=config
changeType: modify
add: olcModuleLoad
olcModuleLoad: translucent.la
)

But when i'm trying to unload it (because it's not used at all), i cant do this anywhere?

dn: cn=module{0},cn=config
changeType: modify
delete: olcModuleLoad
olcModuleLoad: {6}translucent.la
# the same with simply olcModuleLoad: translucent.la
modifying entry "cn=module{0},cn=config"
ldap_modify: Other (e.g., implementation specific) error (80)
	additional info: cannot delete olcModuleLoad

If it is not realised yet, you may consume my question as a feature request :)

Many reasons. First because there simply hasn't been a need. Second because many platforms that OpenLDAP supports don't actually support unloading of dynamic modules. (E.g., on AIX 3, unloading a module is "supported" but doesn't in fact free up any of the memory, that part of the address space is gone. Unloading and reloading over and over eventually eats up all the address space.)

There are some isolated cases where it might be useful, but they're relatively rare. E.g., unloading a module so that a one-line patch can be applied, and then reloading it. In the more common case, since the slapd APIs are not frozen, you can't rely on unloading and mixing versions of modules.

--
  -- Howard Chu
  CTO, Symas Corp.           http://www.symas.com
  Director, Highland Sun     http://highlandsun.com/hyc/
  Chief Architect, OpenLDAP  http://www.openldap.org/project/