3.0.2: rlm_sql_null duplicating its statements

Phil Mayers p.mayers at imperial.ac.uk
Fri Apr 11 16:43:18 CEST 2014


On 11/04/14 15:26, Alan DeKok wrote:
> Phil Mayers wrote:
>> I think it's important to note this *will* be working for 2.2.x on Linux
>> because the locking #ifdef will end up using flock() which has saner,
>> per-fd semantics.
>
>    I don't recall why that was changed.  There was a reason, right?

It was the thread I linked to the other day. Basically:

  1. rlm_sql_log got removed in 3.x in favour of rlm_sql with a logfile.

  2. I pointed out that rlm_sql_log used locking, and that whatever 
replaced it needed to use the same locking scheme so that it would work 
with radsqlrelay.

  3. rad_lockfd was then made to use fcntl() only, and rlm_sql was made 
to use rad_lockfd.

So it's sort-of my fault for stirring it all up ;o)

>    The problem is that the logging calls are specific to each module.
> The filenames aren't tracked globally.

Ah sorry then I've misunderstood.

>    On Linux, uncontended mutexes can be done in user space.  The code

Ignore me; I was assuming the filename/fd list was global. The locking 
is not really a concern if it's per-module.


More information about the Freeradius-Users mailing list