rlm_detail bug when "locking = yes"
Michael Chernyakhovsky
magmike at mail.ru
Tue Jun 20 12:42:50 CEST 2006
>> open() executed once. but while we failed to get lock at first try,
>> close(outfd) executed and all the subsequent attempts to lock file
>> fails
>>
>> i comment line 293 out.
> I don't understand why this helps. We open the file at the beginning
> of the do..while() loop, so it should be fine.
err. sorry.
source of snapshot are like to freeradius-1.1.2
(rlm_detail.c,v1.37.2.1.2.1 2006/04/19). i miss that open() was moved
inside loop :(
> BTW if you remove the close() line 293 you're leaking one file descriptor
> each time the lock fails.
i use stable 1.1.2, not snapshot.
there open() called before do-while loop in this version.
close() executed every iteration.
so i have to comment close() in block
if (rad_lockfd_nonblock(outfd, 0) < 0) {
close(outfd);
tv.tv_sec = 0;
tv.tv_usec = 25000;
select(0, NULL, NULL, NULL, &tv);
lock_count++;
}
for correct work.
sorry again.
Mike.
More information about the Freeradius-Users
mailing list