3.0.2: rlm_sql_null duplicating its statements
Arran Cudbard-Bell
a.cudbardb at freeradius.org
Mon Apr 7 13:36:22 CEST 2014
On 7 Apr 2014, at 12:33, Arran Cudbard-Bell <a.cudbardb at freeradius.org> wrote:
>
> On 7 Apr 2014, at 11:39, Phil Mayers <p.mayers at IMPERIAL.AC.UK> wrote:
>
>> On 07/04/14 11:32, Phil Mayers wrote:
>>> On 07/04/14 11:07, Arran Cudbard-Bell wrote:
>>>> 20 internet points if you can spot the issue...
>>>
>>> Wack wack oops.
>>>
>>> Good old fnctl locking! Many thanks to AT&T for gifting us their
>>> behaviour...
>>>
>>> Maybe it should be switched to flock() given FreeRadius is threaded?
>>> IIRC the only external programs (that come with the server) relying on
>>> the locking mode are radsqlrelay and radrelay?
>>
>> Oh dear. Seems I might have instigated this:
>>
>> http://lists.freeradius.org/mailman/private/freeradius-devel/2012-December/007356.html
>>
>> ...which triggered:
>>
>> https://github.com/FreeRADIUS/freeradius-server/commit/582852042b4aa6810a683383809de234c7bd98a3
>>
>> Oops... Sorry!
>
> Ha, all your fault, all your fault :)
>
> flock is sometimes just a wrapper around fcntl so may be just as broken,
> at least by moving to something we know is broken in terms of reflecting
> lock states internally, it means that we'll account for it in the code.
>
> Anyway, I've just added a mutex around the writes for now.
>
> I spent a few days investigating locking schemes on *NIX a while back and ,
> came to the conclusion the only sane way of implementing a sane file locking
> scheme is to have a structure in the server core which holds all the currently
> open file handles, and their lock states.
>
> The entries for the files would reflect the locking state presented to other
> processes with fcntl.
>
> Entries would should probably persist after whatever needed the lock has
> released it, and expire out after a period of inactivity, else will have
> to initialise a mutex on every file access.
Just checked, and all the other modules which use rad_lockfd are marked
as THREAD_UNSAFE.
Arran Cudbard-Bell <a.cudbardb at freeradius.org>
FreeRADIUS Development Team
FD31 3077 42EC 7FCD 32FE 5EE2 56CF 27F9 30A8 CAA2
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 881 bytes
Desc: Message signed with OpenPGP using GPGMail
URL: <http://lists.freeradius.org/mailman/private/freeradius-users/attachments/20140407/5001b9da/attachment-0001.pgp>
More information about the Freeradius-Users
mailing list