Jeff Trawick <[EMAIL PROTECTED]> writes:

>      memset(&unix_addr, 0, sizeof(unix_addr));
>      unix_addr.sun_family = AF_UNIX;
>      strcpy(unix_addr.sun_path, conf->sockname);
>  
> -    if (connect(sd, (struct sockaddr *)&unix_addr, sizeof(unix_addr)) < 0) {
> +    connect_tries = 0;
> +    sliding_timer = 100000; /* 100 milliseconds */
> +    while (1) {
> +        ++connect_tries;
> +        if ((sd = socket(AF_UNIX, SOCK_STREAM, 0)) < 0) {
>              return log_scripterror(r, conf, HTTP_INTERNAL_SERVER_ERROR, errno, 
> -                                   "unable to connect to cgi daemon");
> -    } 
> +                                   "unable to create socket to cgi daemon");
> +        }
> +        if (connect(sd, (struct sockaddr *)&unix_addr, sizeof(unix_addr)) < 0) {
> +            if (errno == ECONNREFUSED && connect_tries < DEFAULT_CONNECT_ATTEMPTS) {
> +                ap_log_rerror(APLOG_MARK, APLOG_DEBUG, errno, r,
 (and more)

I just noticed for the first time that the mod_include support has the
same logic.  Time for a subroutine...
-- 
Jeff Trawick | [EMAIL PROTECTED] | PGP public key at web site:
       http://www.geocities.com/SiliconValley/Park/9289/
             Born in Roswell... married an alien...

Reply via email to