On Mon, Oct 16, 2006 at 12:25:23PM +0200, Tollef Fog Heen wrote:
> Joe Orton skrev:
> >On Sat, Oct 14, 2006 at 09:04:34PM +0200, Tollef Fog Heen wrote:
> >>Currently, apr chooses whether to use epoll, kqueue, port, select or
> >>poll at build-time. This works quite well if your apr library is only
> >>used on hosts with the same capabilities as the one you built on.
> >>However, if you build on Linux 2.6 and try to use the binaries on
> >>Linux 2.4, they don't work (due to the epoll interface not existing on
> >>2.4).
> >
> >Of course, so don't do that. If your lowest supported kernel revision
> >is 2.4, then you have to build on a 2.4 kernel so APR won't use any 2.6
> >features. Otherwise you have to force particular choices by doing e.g.
> >"export apr_cv_epoll=no" before running configure, to prevent detection
> >of 2.6 features.
>
> Wouldn't it be better if APR chose at runtime instead of just
> segfaulting like it does today?
The SIGSEGV is not an APR problem, see e.g.:
$ grep -1 apr_pollset_create server/mpm/prefork/prefork.c
/* ### check the status */
(void) apr_pollset_create(&pollset, num_listensocks, pchild, 0);