On 03.10.2009 14:54, [email protected] wrote:
> Author: jim
> Date: Sat Oct  3 12:54:35 2009
> New Revision: 821307
> 
> URL: http://svn.apache.org/viewvc?rev=821307&view=rev
> Log:
> Provide new  ap_update_child_status_from_conn() mostly
> for use with mod_noloris.c Add some logic protection, for
> NULL ref, which shoulda be there in any case.
> 
> Modified:
>     httpd/httpd/trunk/include/scoreboard.h
>     httpd/httpd/trunk/modules/experimental/mod_noloris.c
>     httpd/httpd/trunk/server/scoreboard.c
> 

> Modified: httpd/httpd/trunk/modules/experimental/mod_noloris.c
> URL: 
> http://svn.apache.org/viewvc/httpd/httpd/trunk/modules/experimental/mod_noloris.c?rev=821307&r1=821306&r2=821307&view=diff
> ==============================================================================
> --- httpd/httpd/trunk/modules/experimental/mod_noloris.c (original)
> +++ httpd/httpd/trunk/modules/experimental/mod_noloris.c Sat Oct  3 12:54:35 
> 2009
> @@ -57,17 +57,9 @@
>  
>  static int noloris_conn(conn_rec *conn)
>  {
> -    /*** FIXME
> -     * This is evil: we're assuming info that's private to the scoreboard
> -     * We need to do that because there's no API to update the scoreboard
> -     * on a connection, only with a request (or NULL to say not processing
> -     * any request).  We need a version of ap_update_child_status that
> -     * accepts a conn_rec.
> -     */
>      struct { int child_num; int thread_num; } *sbh = conn->sbh;

Hm. Shouldn't we remove the line above as well now that the comment is gone?

>  
>      char *shm_rec;
> -    worker_score *ws;
>      if (shm == NULL) {
>          return DECLINED;  /* we're disabled */
>      }

> Modified: httpd/httpd/trunk/server/scoreboard.c
> URL: 
> http://svn.apache.org/viewvc/httpd/httpd/trunk/server/scoreboard.c?rev=821307&r1=821306&r2=821307&view=diff
> ==============================================================================
> --- httpd/httpd/trunk/server/scoreboard.c (original)
> +++ httpd/httpd/trunk/server/scoreboard.c Sat Oct  3 12:54:35 2009
> @@ -490,6 +492,19 @@
>                                                 status, r);
>  }
>  
> +AP_DECLARE(int) ap_update_child_status_from_conn(ap_sb_handle_t *sbh, int 
> status,
> +                                       conn_rec *c)
> +{
> +    if (!sbh)
> +        return -1;
> +    
> +    request_rec fake_rec;
> +    fake_rec.connection = c;

Shouldn't we set fake_rec.per_dir_config and fake_rec.server to NULL to play 
safe?

Regards

RĂ¼diger

Reply via email to