actually I already fixed the problem by changing child_pid <=0 to 
childpid < 0 since as far as I know usually child pid is 0 ? or at least
that was why it was not waiting for checkrad because I put a logging line 
inside the most inner if clause and the child_pid was always 0 but now
when I set <= to < I see that it stops when childpid==pid. Now it is
working fine I guess...

                /*
                 *      Parent - Wait for checkrad to terminate.
                 *      We timeout in 10 seconds.
                 */
                child_pid = -1;
                for (n = 0; n < 10; n++) {
                        sleep(1);
                        child_pid = rad_waitpid(pid, &status, WNOHANG);
                        if ((child_pid <= 0) || (child_pid == pid)) {
                                found = 1;
                                break;
                        }
                }  

About CVS. I dont usually track software with CVS since I believe the
latest is not usually the most stable. But thanks for the advice =)

Evren

On Tue, 3 Dec 2002, Alan DeKok wrote:

> Evren Yurtesen <[EMAIL PROTECTED]> wrote:
> > Now checkrad is working but freeradius doesnt wait for the result of
> > checkrad before authenticating! it passes it immediately almost in half a
> > second even though checkrad takes about 1 second to complete...
> 
>   I think there's an issue related to checkrad in 0.8.  If you're
> familiar with CVS, try doing a checkout of the release_0_9_0 branch,
> as that contains fixes.
> 
>   I think a 0.8.1 release would be useful pretty soon.
> 
>   Alan DeKok.
> 
> - 
> List info/subscribe/unsubscribe? See http://www.freeradius.org/list/users.html
> 


- 
List info/subscribe/unsubscribe? See http://www.freeradius.org/list/users.html

Reply via email to