Welcome! Log In Create A New Profile

Advanced

Re: [ANNOUNCE] Tengine-1.4.0

Maxim Dounin
September 06, 2012 06:36AM
Hello!

On Thu, Sep 06, 2012 at 12:10:46AM -0700, Michael Shadle wrote:

> the basic concept of "modules" are pluggable instruments to extend
> something else.
>
> having to compile it in makes it less modular. DSO support would make
> package management in distributions seamless.
>
> minor differences in any one single module means you need to recompile
> the entire binary for that small change instead of a single .so for
> example being changed and the server gracefully reloading.

The main problem with dynamically loaded modules is ABI, and
that's why we don't support it now. With even minor difference in
nginx core you'll need to recompile all modules - else you'll see
unexpected behaviour here and there due to ABI changes.

Moreover, right now we don't maintain ABI even within single
source code base - various structure layout may change depending
on various configure options and test results. That is, if one
needs to compile loadable modules - the only valid option now is
to compile them with nginx itself, else expect problems.

With this in mind it doesn't really make sense to support dynamic
modules. Especially if you also consider resulting performance
loss (and nginx's seamless upgrade process as mentioned by Reinis).

So the question isn't really about dynamic modules by itself.
Question is about (at least tracking of) ABI provided for modules.
For now it's something mostly nonexistent.

Not even talking about resulting problems due to use of other
libraries n loaded modules. I've seen Apache segfaulting due to
incompatible libraries used in modules more than once, and I don't
really want to see the same with nginx.

Maxim Dounin

_______________________________________________
nginx mailing list
nginx@nginx.org
http://mailman.nginx.org/mailman/listinfo/nginx
Subject Author Posted

[ANNOUNCE] Tengine-1.4.0

Joshua Zhu September 05, 2012 01:08PM

Re: [ANNOUNCE] Tengine-1.4.0

smallfish September 05, 2012 09:58PM

Re: [ANNOUNCE] Tengine-1.4.0

Christopher Meng September 06, 2012 12:02AM

Re: [ANNOUNCE] Tengine-1.4.0

Joshua Zhu September 06, 2012 12:26AM

Re: [ANNOUNCE] Tengine-1.4.0

David Yu September 06, 2012 01:20AM

Re: [ANNOUNCE] Tengine-1.4.0

mike September 06, 2012 01:56AM

Re: [ANNOUNCE] Tengine-1.4.0

Christopher Meng September 06, 2012 02:12AM

Re: [ANNOUNCE] Tengine-1.4.0

Reinis Rozitis September 06, 2012 02:50AM

Re: [ANNOUNCE] Tengine-1.4.0

姚伟斌 September 06, 2012 03:04AM

Re: [ANNOUNCE] Tengine-1.4.0

mike September 06, 2012 03:12AM

Re: [ANNOUNCE] Tengine-1.4.0

Maxim Dounin September 06, 2012 06:36AM

Re: [ANNOUNCE] Tengine-1.4.0

mike September 06, 2012 12:28PM

Re: [ANNOUNCE] Tengine-1.4.0

Joshua Zhu September 06, 2012 10:08PM

Re: [ANNOUNCE] Tengine-1.4.0

Maxim Dounin September 07, 2012 04:48AM

Re: [ANNOUNCE] Tengine-1.4.0

Joshua Zhu September 11, 2012 12:18AM

Re: [ANNOUNCE] Tengine-1.4.0

Maxim Dounin September 11, 2012 06:34AM

Re: [ANNOUNCE] Tengine-1.4.0

Joshua Zhu September 06, 2012 02:26AM

Re: [ANNOUNCE] Tengine-1.4.0

姚伟斌 September 06, 2012 02:50AM



Sorry, only registered users may post in this forum.

Click here to login

Online Users

Guests: 240
Record Number of Users: 8 on April 13, 2023
Record Number of Guests: 421 on December 02, 2018
Powered by nginx      Powered by FreeBSD      PHP Powered      Powered by MariaDB      ipv6 ready