Automatic report from sources (radiusd) between 10.05.2006 - 11.05.2006 GMT
CVS log entries from 10.05.2006 (Wed) 08:00:01 - 11.05.2006 (Thu) 08:00:01 GMT ===================================================== Summary by authors ===================================================== Author: aland File: radiusd/share/dictionary.digium; Revisions: 1.1, 1.1.2.2, 1.1.2.1 File: radiusd/share/dictionary; Revisions: 1.128, 1.93.2.5.2.4 Author: fcusack File: radiusd/src/main/threads.c; Revisions: 1.107 File: radiusd/src/lib/valuepair.c; Revisions: 1.108, 1.107 File: radiusd/src/lib/rbtree.c; Revisions: 1.20 File: radiusd/src/lib/misc.c; Revisions: 1.70 ===================================================== Combined list of identical log entries ===================================================== Description: fix compiler warnings (and one typo) Modified files: File: radiusd/src/lib/misc.c; Revision: 1.70; Date: 2006/05/10 19:47:13; Author: fcusack; Lines: (+4 -4) File: radiusd/src/lib/rbtree.c; Revision: 1.20; Date: 2006/05/10 19:47:14; Author: fcusack; Lines: (+3 -3) File: radiusd/src/lib/valuepair.c; Revision: 1.107; Date: 2006/05/10 19:47:14; Author: fcusack; Lines: (+3 -3) ------------------------------- Description: For Asterix, as found on the net Modified files: File: radiusd/share/dictionary; Revision: 1.128; Date: 2006/05/10 16:52:08; Author: aland; Lines: (+2 -1) File: radiusd/share/dictionary.digium; Revision: 1.1; Date: 2006/05/10 16:52:08; Author: aland; ------------------------------- Description: Pull Asterix dictionary from the head Modified files: File: radiusd/share/dictionary; Revision: 1.93.2.5.2.4; Date: 2006/05/10 16:53:15; Author: aland; Lines: (+2 -1) File: radiusd/share/dictionary.digium; Revision: 1.1.2.2; Date: 2006/05/10 16:53:15; Author: aland; Lines: (+36 -0) ===================================================== Log entries ===================================================== Description: file dictionary.digium was added on branch branch_1_1 on 2006-05-10 16:53:15 +0000 Modified files: File: radiusd/share/dictionary.digium; Revision: 1.1.2.1; Date: 2006/05/10 16:52:08; Author: aland; Lines: (+0 -36) ------------------------------- Description: fix the supposed typo which wasn't a typo: Modified files: File: radiusd/src/lib/valuepair.c; Revision: 1.108; Date: 2006/05/10 19:51:24; Author: fcusack; Lines: (+3 -3) ------------------------------- Description: udpate comments re: thread_pool.active_threads and locking Modified files: File: radiusd/src/main/threads.c; Revision: 1.107; Date: 2006/05/10 19:03:00; Author: fcusack; Lines: (+18 -14) ===================================================== Summary of modified files ===================================================== File: radiusd/share/dictionary Revisions: 1.128, 1.93.2.5.2.4 Authors: aland (+2 -1), aland (+2 -1) ------------------------------- File: radiusd/share/dictionary.digium Revisions: 1.1, 1.1.2.2, 1.1.2.1 Authors: aland, aland (+36 -0), aland (+0 -36) ------------------------------- File: radiusd/src/lib/misc.c Revisions: 1.70 Authors: fcusack (+4 -4) ------------------------------- File: radiusd/src/lib/rbtree.c Revisions: 1.20 Authors: fcusack (+3 -3) ------------------------------- File: radiusd/src/lib/valuepair.c Revisions: 1.108, 1.107 Authors: fcusack (+3 -3), fcusack (+3 -3) ------------------------------- File: radiusd/src/main/threads.c Revisions: 1.107 Authors: fcusack (+18 -14) -- Automatic cron job from /web/pages/us.freeradius.org/bin/new_makelog.pl
"Automatic cvs log generator" wrote:
fix compiler warnings (and one typo) Modified files: ... File: radiusd/src/lib/rbtree.c; Revision: 1.20;
That wasn't a typo, and the "const" should really be there. The trees are used in a multi-threaded environment, and the default red-black tree code assumes that the sentinel is writable. It's not. After I added the "const", I caught and fixed odd threading bugs, where two threads would compete in their writes to the sentinel, which would result in problems. Alan DeKok.
On May 11, 2006 12:57:33 PM -0400 Alan DeKok <aland@nitros9.org> wrote:
"Automatic cvs log generator" wrote:
fix compiler warnings (and one typo) Modified files: ... File: radiusd/src/lib/rbtree.c; Revision: 1.20;
That wasn't a typo,
The "typo" that wasn't a typo was in valuepair.c. It's shitty CVS that makes that part of the log message appear to go with rbtree.c. See valuepair.c#1.108 for the correction of the "correction".
and the "const" should really be there. The trees are used in a multi-threaded environment, and the default red-black tree code assumes that the sentinel is writable. It's not.
After I added the "const", I caught and fixed odd threading bugs, where two threads would compete in their writes to the sentinel, which would result in problems.
I removed the const because the compiler complains about Sentinel being self-referential (.Left is not const but you are assigning it a const). It seemed easier than casting each NIL to (rbnode_t *). How would you write to the sentinel if it's const? Or do you mean that threads would write to it when they shouldn't. -frank
Frank Cusack <fcusack@fcusack.com> wrote:
I removed the const because the compiler complains about Sentinel being self-referential (.Left is not const but you are assigning it a const).
Yes.
How would you write to the sentinel if it's const? Or do you mean that threads would write to it when they shouldn't.
You don't write to the sentinel. It's not thread-specific, and having multiple threads writing to it is bad. In anycase, I updated the code so that everywhere it checks if "FOO != NIL" before writing to FOO->Color. So the change you made shouldn't hurt anything. Alan DeKok.
On May 11, 2006 3:14:49 PM -0400 Alan DeKok <aland@nitros9.org> wrote:
Frank Cusack <fcusack@fcusack.com> wrote: In anycase, I updated the code so that everywhere it checks if "FOO != NIL" before writing to FOO->Color. So the change you made shouldn't hurt anything.
Well I certainly don't want to remove a useful debugging aid; how bad will I feel if there is a regression! I'll submit a fix for this one way or another. -frank
On May 11, 2006 11:49:37 AM -0700 Frank Cusack <fcusack@fcusack.com> wrote:
On May 11, 2006 12:57:33 PM -0400 Alan DeKok <aland@nitros9.org> wrote:
and the "const" should really be there. The trees are used in a multi-threaded environment, and the default red-black tree code assumes that the sentinel is writable. It's not.
After I added the "const", I caught and fixed odd threading bugs, where two threads would compete in their writes to the sentinel, which would result in problems.
I removed the const because the compiler complains about Sentinel being self-referential (.Left is not const but you are assigning it a const).
It seemed easier than casting each NIL to (rbnode_t *).
Oh, and since you use -Wcast-qual I was under the impression that casting wouldn't get rid of the compiler warning.
How would you write to the sentinel if it's const? Or do you mean that threads would write to it when they shouldn't.
-frank
participants (3)
-
Alan DeKok -
Automatic cvs log generator -
Frank Cusack