Otherwise I see this...
root@x105:[/data/prj/httpd-2.2.22]apachectl -l
Compiled in modules:
  core.c
  prefork.c
  http_core.c
  mod_so.c

root@x105:[/data/prj/httpd-2.2.22]ps -G 202 -mo THREAD
    USER    PID   PPID      TID ST  CP PRI SC    WCHAN        F     TT BND COMMAND
  daemon 262160 553020        - A    0  60  1 f100060000eb1208    40001      -   - /opt/httpd/sbin/httpd -k start
       -      -      -   520219 S    0  60  1 f100060000eb1208   400400      -   - -
  daemon 389208 553020        - A    0  60  1 f100060000eb1208    40001      -   - /opt/httpd/sbin/httpd -k start
       -      -      -   884751 S    0  60  1 f100060000eb1208   400400      -   - -
  daemon 458856 553020        - A    0  60  1 f100060000eb1208    40001      -   - /opt/httpd/sbin/httpd -k start
       -      -      -   954573 S    0  60  1 f100060000eb1208   400400      -   - -
  daemon 491570 553020        - A    0  60  1 f100060000eb1208    40001      -   - /opt/httpd/sbin/httpd -k start
       -      -      -  1163467 S    0  60  1 f100060000eb1208   400400      -   - -
  daemon 536790 553020        - A    0  60  1 f100060000eb1208    40001      -   - /opt/httpd/sbin/httpd -k start
       -      -      -   659649 S    0  60  1 f100060000eb1208   400400      -   - -

root@x105:[/data/prj/httpd-2.2.22]apachectl -M
Loaded Modules:
 core_module (static)
 mpm_prefork_module (static)
 http_module (static)
 so_module (static)
 authn_file_module (shared)
 authn_dbm_module (shared)
 authn_anon_module (shared)
 authn_dbd_module (shared)
 authn_default_module (shared)
 authz_host_module (shared)
 authz_groupfile_module (shared)
 authz_user_module (shared)
 authz_dbm_module (shared)
 authz_owner_module (shared)
 authz_default_module (shared)
 auth_basic_module (shared)
 auth_digest_module (shared)
 dbd_module (shared)
 dumpio_module (shared)
 reqtimeout_module (shared)
 ext_filter_module (shared)
 include_module (shared)
 filter_module (shared)
 substitute_module (shared)
 deflate_module (shared)
 log_config_module (shared)
 log_forensic_module (shared)
 logio_module (shared)
 env_module (shared)
 mime_magic_module (shared)
 cern_meta_module (shared)
 expires_module (shared)
 headers_module (shared)
 ident_module (shared)
 usertrack_module (shared)
 unique_id_module (shared)
 setenvif_module (shared)
 version_module (shared)
 mime_module (shared)
 dav_module (shared)
 status_module (shared)
 autoindex_module (shared)
 asis_module (shared)
 info_module (shared)
 cgi_module (shared)
 dav_fs_module (shared)
 vhost_alias_module (shared)
 negotiation_module (shared)
 dir_module (shared)
 imagemap_module (shared)
 actions_module (shared)
 speling_module (shared)
 userdir_module (shared)
 alias_module (shared)
 rewrite_module (shared)
Syntax OK

So, my conclusion is that "mpm=worker" is working as designed, even if the filenames in modules/* are different compared to other packages.
IMHO, for AIX threaded is supported, and well known, and prefferred. I would hope faster than forking processes as well.


On Wed, Feb 8, 2012 at 9:40 PM, Michael Felt <mamfelt@gmail.com> wrote:
I was assuming that "worker.c" was the code that spawned the threads.
(remember, this is 2.2.22, not 2.4.0, in case that makes any difference)

So, please correct me where I am wrong:
from "/etc/httpd/extra/httpd-mpm.conf

#
# Only one of the below sections will be relevant on your
# installed httpd.  Use "apachectl -l" to find out the
# active mpm.
#

... I assumed that this is where "worker.c" was telling me that mpm=worker
<IfModule mpm_prefork_module>
....
# worker MPM
# StartServers: initial number of server processes to start
# MaxClients: maximum number of simultaneous client connections
# MinSpareThreads: minimum number of worker threads which are kept spare
...
<IfModule mpm_worker_module>
    StartServers          2
    MaxClients          150
    MinSpareThreads      25
...
<IfModule mpm_beos_module>

etc..

Note - these are the ONLY compiled in modules:

root@x105:[/]apachectl -l
Compiled in modules:
  core.c
  worker.c
  http_core.c
  mod_so.c
---
OR
root@x105:[/]apachectl -M
Loaded Modules:
 core_module (static)
 mpm_worker_module (static)
 http_module (static)
 so_module (static)
 authn_file_module (shared)
 authn_dbm_module (shared)
 authn_anon_module (shared)
 authn_dbd_module (shared)
 authn_default_module (shared)
 authz_host_module (shared)
 authz_groupfile_module (shared)
 authz_user_module (shared)
 authz_dbm_module (shared)
 authz_owner_module (shared)
 authz_default_module (shared)
 auth_basic_module (shared)
 auth_digest_module (shared)
 dbd_module (shared)
 dumpio_module (shared)
 reqtimeout_module (shared)
 ext_filter_module (shared)
 include_module (shared)
 filter_module (shared)
 substitute_module (shared)
 deflate_module (shared)
 log_config_module (shared)
 log_forensic_module (shared)
 logio_module (shared)
 env_module (shared)
 mime_magic_module (shared)
 cern_meta_module (shared)
 expires_module (shared)
 headers_module (shared)
 ident_module (shared)
 usertrack_module (shared)
 unique_id_module (shared)
 setenvif_module (shared)
 version_module (shared)
 mime_module (shared)
 dav_module (shared)
 status_module (shared)
 autoindex_module (shared)
 asis_module (shared)
 info_module (shared)
 cgid_module (shared)
 dav_fs_module (shared)
 vhost_alias_module (shared)
 negotiation_module (shared)
 dir_module (shared)
 imagemap_module (shared)
 actions_module (shared)
 speling_module (shared)
 userdir_module (shared)
 alias_module (shared)
 rewrite_module (shared)
Syntax OK

which is the result of:
 ./configure --enable-layout=AIX --with-mpm=worker --enable-mods-shared=all

It is what I "expected", so where am I going wrong?


On Wed, Feb 8, 2012 at 9:27 PM, Jeff Trawick <trawick@gmail.com> wrote:
On Wed, Feb 8, 2012 at 3:02 PM, Michael Felt <mamfelt@gmail.com> wrote:
> Well, ..., removed external apr, just to be sure it was "the same as before"
>
> For simplicity, I am thinking of MPM as multi-threaded versus
> single-threaded. If that is correct, on AIX I am seeing multi-threaded
> "pre-fork" behavior.

Basically: The prefork MPM has single-threaded child processes; the
worker MPM has multi-threaded child processes.

> ===
> root@x105:[/]apachectl -l
> Compiled in modules:
>   core.c
>   worker.c

With "--enable-mpms-shared=all" you should not see prefork.c or
worker.c (or any MPM) in this list.  Something is going wrong at
configure time.


>   http_core.c
>   mod_so.c
> ===
> root@x105:[/]ps -G 202 -mo THREAD
>     USER    PID   PPID      TID ST  CP PRI SC    WCHAN        F     TT BND
> COMMAND
>   daemon 299078 458806        - A    0  60 28        *    40001      -   -
> /opt/httpd/sbin/httpd -k start
>        -      -      -   524427 S    0  60  1 f100070f10008040  8410400
> -   - -
>        -      -      -   647261 S    0  60  1 f100070f10009e40  8410400
> -   - -
>        -      -      -   667799 S    0  60  1 f100070f1000a340  8410400
> -   - -
>        -      -      -   671983 S    0  60  1 f100070f1000a440  8410400
> -   - -
>        -      -      -   680117 S    0  60  1 f100070f1000a640  8410400
> -   - -
>        -      -      -   684109 S    0  60  1 f100070f1000a740  8410400
> -   - -
>        -      -      -   749707 S    0  60  1 f100070f1000b740  8410400
> -   - -
>        -      -      -   888971 S    0  60  1 f100070f1000d940  8410400
> -   - -
>        -      -      -   905243 Z    0  60  1        -   c00001      -   - -
>        -      -      -   970855 S    0  60  1 f100010012c4ffb8   410400
> -   - -
>        -      -      -   999669 S    0  60  1 f100070f1000f440  8410400
> -   - -
>        -      -      -  1003655 S    0  60  1 f100070f1000f540  8410400
> -   - -
>        -      -      -  1044605 S    0  60  1 f100070f1000ff40  8410400
> -   - -
>        -      -      -  1069255 S    0  60  1 f100070f10010540  8410400
> -   - -
>        -      -      -  1101951 S    0  60  1 f100070f10010d40  8410400
> -   - -
>        -      -      -  1204243 S    0  60  1 f100070f10012640  8410400
> -   - -
>        -      -      -  1233133 S    0  60  1 f100070f10012d40  8410400
> -   - -
>        -      -      -  1245225 S    0  60  1 f100070f10013040  8410400
> -   - -
>        -      -      -  1249349 S    0  60  1 f100070f10013140  8410400
> -   - -
>        -      -      -  1261619 S    0  60  1 f100070f10013440  8410400
> -   - -
>        -      -      -  1278023 S    0  60  1 f100070f10013840  8410400
> -   - -
>        -      -      -  1294395 S    0  60  1 f100070f10013c40  8410400
> -   - -
>        -      -      -  1319117 S    0  60  1 f100070f10014240  8410400
> -   - -
>        -      -      -  1323147 S    0  60  1 f100070f10014340  8410400
> -   - -
>        -      -      -  1331321 S    0  60  1 f100070f10014540  8410400
> -   - -
>        -      -      -  1355913 S    0  60  1 f100060000ebca08   400400
> -   - -
>        -      -      -  1368225 S    0  60  1 f100070f10014e40  8410400
> -   - -
>        -      -      -  1409275 S    0  60  1 f100070f10015840  8410400
> -   - -
>   daemon 491756 458806        - A    0  60  1 f100060000e91208    40401
> -   - /opt/httpd/sbin/httpd -k start
>        -      -      -   839725 S    0  60  1 f100060000e91208   400400
> -   - -
>   daemon 565316 458806        - A    0  60 28        *    40001      -   -
> /opt/httpd/sbin/httpd -k start
>        -      -      -   504043 S    0  60  1 f100070f10007b40  8410400
> -   - -
>        -      -      -   512187 S    0  60  1 f100070f10007d40  8410400
> -   - -
>        -      -      -   659535 Z    0  60  1        -   c00001      -   - -
>        -      -      -   729261 S    0  60  1 f100070f1000b240  8410400
> -   - -
>        -      -      -   733431 S    0  60  1 f100070f1000b340  8410400
> -   - -
>        -      -      -   753851 S    0  60  1 f100070f1000b840  8410400
> -   - -
>        -      -      -   925923 S    0  60  1 f100070f1000e240  8410400
> -   - -
>        -      -      -   929947 S    0  60  1 f100070f1000e340  8410400
> -   - -
>        -      -      -   938061 S    0  60  1 f100070f1000e540  8410400
> -   - -
>        -      -      -   975039 S    0  60  1 f100070f1000ee40  8410400
> -   - -
>        -      -      -  1007673 S    0  60  1 f100060000ebca08   400400
> -   - -
>        -      -      -  1040579 S    0  60  1 f100070f1000fe40  8410400
> -   - -
>        -      -      -  1073265 S    0  60  1 f100070f10010640  8410400
> -   - -
>        -      -      -  1126419 S    0  60  1 f100070f10011340  8410400
> -   - -
>        -      -      -  1171705 S    0  60  1 f100070f10011e40  8410400
> -   - -
>        -      -      -  1183967 S    0  60  1 f100070f10012140  8410400
> -   - -
>        -      -      -  1192149 S    0  60  1 f100070f10012340  8410400
> -   - -
>        -      -      -  1228911 S    0  60  1 f100070f10012c40  8410400
> -   - -
>        -      -      -  1237123 S    0  60  1 f100070f10012e40  8410400
> -   - -
>        -      -      -  1257713 S    0  60  1 f100010012c4ffb8   410400
> -   - -
>        -      -      -  1310959 S    0  60  1 f100070f10014040  8410400
> -   - -
>        -      -      -  1339473 S    0  60  1 f100070f10014740  8410400
> -   - -
>        -      -      -  1343615 S    0  60  1 f100070f10014840  8410400
> -   - -
>        -      -      -  1347699 S    0  60  1 f100070f10014940  8410400
> -   - -
>        -      -      -  1364159 S    0  60  1 f100070f10014d40  8410400
> -   - -
>        -      -      -  1372165 S    0  60  1 f100070f10014f40  8410400
> -   - -
>        -      -      -  1376461 S    0  60  1 f100070f10015040  8410400
> -   - -
>        -      -      -  1396845 S    0  60  1 f100070f10015540  8410400
> -   - -
> root@x105:[/]
> ====
> In the listing above, the PID numbers are the even numbers (processes) while
> the column TID (thread ID) are all odd. Threads are indented and "under" the
> process.
>
> Only "changes" were creation of a group daemon (id = 202, hence ps -G 202),
> and activating the extra/httpd-mpm.conf file via /etc/httpd/httpd.conf.
>
> So, even though I do not see any files named *mpm*.so I would think that
> this shows that AIX it is "worker" and not pre-fork.
>
>
> On Wed, Feb 8, 2012 at 5:57 PM, Jeff Trawick <trawick@gmail.com> wrote:
>>
>> On Wed, Feb 8, 2012 at 11:47 AM, Michael Felt <mamfelt@gmail.com> wrote:
>> > Well, just slightly confused.
>> > On my system I have "tested" in as much as I can https://hostname and it
>> > says "It works!".
>> > What I need some assistence with perhaps is determeing which "mpm"
>> > binary
>> > was built, as I am only building one with 2.2.22 at the moment.
>>
>> Look in your modules directory for *mpm*.so to see what was
>> built+installed.
>>
>> Look in your httpd.conf to see which of those available MPMs is loaded
>> via LoadModule.
>>
>> (I think you'll find that prefork and worker are built for AIX, and
>> worker is the one loaded by default.)
>>
>> >
>> > re: Having only one script - I am not surprised there must be more than
>> > one,
>> > but I hoped :)
>> > There are actually two scripts - one that does the configure/make/make
>> > install, and one that creates the
>> > template needed to make the package.
>> >
>> > FYI: I am working on getting a build for a svn client as well. AND - I
>> > am
>> > doing these things because I am very tired of having to download 10 to
>> > 20
>> > .rpm packages, each with moving dependancies it seems, in order to
>> > install
>> > something that is supposed readily available. In short, I am trying to
>> > make
>> > some packages that just 'install' with saying - you need this too, and
>> > then
>> > when you install that - it says and I need this first, etc etc.
>> >
>> > In a word, boring.
>> >
>> > FYI: current tools (IBM and others) use /opt/freeware as their main
>> > installation area - so I am opting for /opt/* (no freeware in the name)
>> > for
>> > packages like coreutils, libz, pcre, apr, apr-util, etc. and
>> > applications
>> > (packaging) such as httpd and svn in /opt/httpd, /opt/svn. With your
>> > wealth
>> > of prior experience - if you see a trap I am setting for myself, please
>> > warn
>> > me - and better - lead me to safety.
>> >
>> > regards, Michael
>> >
>> >
>> > On Wed, Feb 8, 2012 at 3:40 PM, Jeff Trawick <trawick@gmail.com> wrote:
>> >>
>> >> On Wed, Feb 8, 2012 at 9:08 AM, Michael Felt <mamfelt@gmail.com> wrote:
>> >> > Well, it was building "something". I'll try the proposed change and
>> >> > make
>> >> > sure it is still giving me "all" the mods.
>> >>
>> >> yeah, that was the idea...  thanks!
>> >>
>> >> > FYI - I have added --enable-ssl (so that the same script works for
>> >> > both
>> >> > 2.2.22 and 2.4.0 which have different ideas of "all".
>> >>
>> >> As Graham mentioned, expect to have different scripts for different
>> >> releases and do the right thing for each release.  It isn't a good
>> >> thing if people who play with  configure more often but might not know
>> >> the ancient history stare at the script and wonder about the odd
>> >> choice of arguments.  (I happen to remember about the AIX/--enable-so
>> >> issue from long ago, but that needs to die.)
>> >>
>> >> > And I hope configure will still leave AIX modules as shared (as it
>> >> > used
>> >> > to
>> >> > make them all static by default - long ago).
>> >>
>> >> If it doesn't build them shared using the appropriate configure args,
>> >> that's what needs to be fixed.  (Most people won't use this script.)
>> >>
>> >> >
>> >> > I shall try both 2.4.0 and 2.2.22 (without --enable-ssl) - and I am
>> >> > continuing to work towards to havin g APR external to httpd.
>> >> >
>> >> >
>> >> > On Tue, Feb 7, 2012 at 8:09 PM, Jeff Trawick <trawick@gmail.com>
>> >> > wrote:
>> >> >>
>> >> >> The buildaix.ksh script committed recently had some outdated options
>> >> >> or requirements, and didn't build loadable MPMs.  Suggested changes
>> >> >> are below.  Do or do not fold, spindle, or mutilate; commit with or
>> >> >> without testing; etc.
>> >> >>
>> >> >> Index: build/aix/buildaix.ksh
>> >> >> ===================================================================
>> >> >> --- build/aix/buildaix.ksh      (revision 1241549)
>> >> >> +++ build/aix/buildaix.ksh      (working copy)
>> >> >> @@ -30,11 +30,7 @@
>> >> >>  > nohup.out
>> >> >>  ./configure \
>> >> >>         --enable-layout=$LAYOUT \
>> >> >> -       --enable-module=so \
>> >> >> -       --enable-proxy \
>> >> >> -       --enable-cache \
>> >> >> -       --enable-disk-cache \
>> >> >> -       --with-mpm=worker \
>> >> >> +       --enable-mpms-shared=all \
>> >> >>         --enable-mods-shared=all | tee nohup.out
>> >> >>
>> >> >>  make | tee -a nohup.out
>> >> >>
>> >> >> --
>> >> >> Born in Roswell... married an alien...
>> >> >
>> >> >
>> >>
>> >>
>> >>
>> >> --
>> >> Born in Roswell... married an alien...
>> >
>> >
>>
>>
>>
>> --
>> Born in Roswell... married an alien...
>
>



--
Born in Roswell... married an alien...