You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@apr.apache.org by Rodent of Unusual Size <Ke...@Golux.Com> on 2001/04/27 13:13:50 UTC

[STATUS] (apache-apr) Fri Apr 27 07:13:50 EDT 2001

Apache Portable Runtime STATUS:
Last modified at [$Date: 1999/07/28 22:53:12 $]

Release:

    0.1  : In pre-alpha development

Plan:

    Everyone discuss and wrangle out the issues on new-httpd,
    and commit changes as appropriate.

Showstoppers:
Committed Code Changes:

    . docs/ directory created and initial function pre-spec added
    . include/ directory created and start of APRStatus macros added
    . pthreads/ directory tree created and populated with latest
      work on Apache 1.3.5-dev port to pthreads inserted

Available Patches:
In progress:
    Modules
        Ensure thread safety.  Does not include mod_proxy, yet.
	Modules that don't work:
            mod_digest.c      -- Don't bother with this until the new
                                 mod_digest code gets incorporated.

	Questionable modules: (Not tested.)         
	    mod_log_agent.c   -- Are we keeping these in 2.0 after Ken's
            mod_log_referer.c -- mod_log_config changes.  If yes, I'll test
			      -- them later.
    
    Warning scrubbing
        Get rid of all reasonable warnings with the strictest compiler flags,
        to help weed out bugs

    Everything

Needs patch:

  With AIX 4.2, if MaxRequestsPerChild is low (e.g. 5) and
  ThreadsPerChild is high (e.g. 64), the signal delivered to sigwait
  gets dropped on the floor. The hypothesis is that the signals blocked
  by pthread_sigmask aren't kept pending as they should be, so when
  worker threads exit quickly and signal the sigwait thread before the
  sigwait() call has been entered, the thread never gets the signal.

  Min and MaxSpareServers don't allow fine enough granularity to specify
  the number of idle threads needed. For example, if ThreadsPerChild is
  200, we probably don't need all 200 threads to be idle, yet that is
  the minimum allowed right now. A patch was committed to the pthread
  MPM to use Min/MaxSpareThreads instead; it should be moved to this
  repository soon if no one has problems.

Open issues:

  * Optimize Optimize Optimize

  FEATURE SET FOR HYBRID SERVER

Closed issues:
    Accept Thread Serialization
        Implemented as a blocking queue.  1 accept thread passes connection
        to queue (size of queue is config directive, default # of threads).
        All other threads block on queue.
    Process/Thread hybridization
        put monitor process back into place.  Was removed for initial port, 
	it's time we make sure the server is running, and if not, start 
	it again.
    Bringing this code up-to-date with the changes in the 1.3 branch.
        It's now up-to-date as of the morning of Feb 6th, 1999.
    Scoreboard
	Design the scoreboard appropriately for a hybrid process web
	server. This includes adding a tid field to the scoreboard.
    Signal Handling
        Investigate signal handling in Apache-pthreads.  SIGUSR1 is not a
	usable signal on Linux 2.0, because pthreads uses it to communicate
	between threads.  SIGWINCH was used for graceful restarts.
    Process/thread management
        Put (back) in the logic to manage the number of processes.
	Managing threads per process other than with a configuration
	constant is in doubt.
    Accept Serialization across Processes
	We now use one mutex per socket.
    Timeouts.  (only soft timeouts)
	Keepalive and Initail Conection timeouts are done.  Are there others?
	CGI?
    Modules that work:
        mod_env.c mod_negotiation.c mod_autoindex.c mod_dir.c mod_cgi.c 
        mod_actions.c mod_speling.c mod_userdir.c mod_alias.c 
        mod_expires.c mod_headers.c mod_so.c mod_setenvif.c 
        mod_auth_anon.c mod_access.c mod_include.c mod_imap.c 
        mod_log_config.c mod_asis.c mod_rewrite.c mod_mime.c 
        mod_usertrack.c mod_unique_id.c mod_cern_meta.c
        mod_auth.c (I'm assuming mod_auth* also work)
        mod_mime_magic.c mod_status.c mod_mmap_static.c
    Mod_proxy

Re: [STATUS] (apache-apr) Fri Apr 27 07:13:50 EDT 2001

Posted by Rodent of Unusual Size <Ke...@Golux.Com>.
"William A. Rowe, Jr." wrote:
> 
> Ergo, you have grabst the wrong tree ;->

Uh, d'oh!  Fixed.  Thanks, OB.
-- 
#ken    P-)}

Ken Coar                    <http://Golux.Com/coar/>
Apache Software Foundation  <http://www.apache.org/>
"Apache Server for Dummies" <http://Apache-Server.Com/>
"Apache Server Unleashed"   <http://ApacheUnleashed.Com/>

Re: [STATUS] (apache-apr) Fri Apr 27 07:13:50 EDT 2001

Posted by "William A. Rowe, Jr." <li...@rowe-clan.net>.
From: "Rodent of Unusual Size" <Ke...@Golux.Com>
Sent: Friday, April 27, 2001 6:23 AM


> Rodent of Unusual Size wrote:
> > 
> > Apache Portable Runtime STATUS:
> > Last modified at [$Date: 1999/07/28 22:53:12 $]

                             ^^^^^^^^^^

> As you can see, I *finally* got to the item on my list about
> adding the APR STATUS file to my weekly STATUS mailing.  Of
> course, the file has been largely ignored for nearly a
> year, certainly since it became its own project I think,
> so it is woefully out of date.  Discuss amongst yourselves.. :-)

Ergo, you have grabst the wrong tree ;->

Both within the apr and apr-util trees are each a STATUS file in the
root, if you care to add them and distribute to dev@apr.apache.org

But please drop apache-apr nonesense from the list :-)


Re: [STATUS] (apache-apr) Fri Apr 27 07:13:50 EDT 2001

Posted by Rodent of Unusual Size <Ke...@Golux.Com>.
Rodent of Unusual Size wrote:
> 
> Apache Portable Runtime STATUS:
> Last modified at [$Date: 1999/07/28 22:53:12 $]

As you can see, I *finally* got to the item on my list about
adding the APR STATUS file to my weekly STATUS mailing.  Of
course, the file has been largely ignored for nearly a
year, certainly since it became its own project I think,
so it is woefully out of date.  Discuss amongst yourselves.. :-)
-- 
#ken    P-)}

Ken Coar                    <http://Golux.Com/coar/>
Apache Software Foundation  <http://www.apache.org/>
"Apache Server for Dummies" <http://Apache-Server.Com/>
"Apache Server Unleashed"   <http://ApacheUnleashed.Com/>