[asterisk-commits] mmichelson: branch group/CCSS r216639 - in /team/group/CCSS: include/asterisk...

SVN commits to the Asterisk project asterisk-commits at lists.digium.com
Fri Sep 4 16:21:07 CDT 2009


Author: mmichelson
Date: Fri Sep  4 16:21:04 2009
New Revision: 216639

URL: http://svn.asterisk.org/svn-view/asterisk?view=rev&rev=216639
Log:
Add cautionary note to ccss.c about potential race condition.
Remove some unnecessary struct fields.


Modified:
    team/group/CCSS/include/asterisk/ccss.h
    team/group/CCSS/main/ccss.c

Modified: team/group/CCSS/include/asterisk/ccss.h
URL: http://svn.asterisk.org/svn-view/asterisk/team/group/CCSS/include/asterisk/ccss.h?view=diff&rev=216639&r1=216638&r2=216639
==============================================================================
--- team/group/CCSS/include/asterisk/ccss.h (original)
+++ team/group/CCSS/include/asterisk/ccss.h Fri Sep  4 16:21:04 2009
@@ -472,10 +472,6 @@
 	struct ast_cc_monitor *parent;
 	/* The child monitor (may be extension or device monitor) */
 	struct ast_cc_monitor *child;
-	/* The weight associated with this link. Lower weights have higher 
-	 * priority 
-	 */
-	unsigned long weight;
 	/* Boolean indicator of whether the link is currently suspended */
 	unsigned char is_suspended;
 	/* Which instance of the core state machine does this link correspond
@@ -522,13 +518,6 @@
 	 * become unsuspended
 	 */
 	struct ast_cc_monitor_link *saved_link;
-	/* The current state of the device monitor's device.
-	 * Even though not all device monitors subscribe
-	 * to device state, the monitors should be able to
-	 * translate the state information into this type
-	 * for uniformity.
-	 */
-	enum ast_device_state state;
 	/*! The name of the device/extension being monitored */
 	char name[1];
 };

Modified: team/group/CCSS/main/ccss.c
URL: http://svn.asterisk.org/svn-view/asterisk/team/group/CCSS/main/ccss.c?view=diff&rev=216639&r1=216638&r2=216639
==============================================================================
--- team/group/CCSS/main/ccss.c (original)
+++ team/group/CCSS/main/ccss.c Fri Sep  4 16:21:04 2009
@@ -1452,6 +1452,11 @@
 	 * the next time that the device state *changes* to "not in use" that will be indication that
 	 * the phone has been used and that we may try ringing the phone again.
 	 */
+
+	/* XXX Is there a race condition here? If we happen to see that the status is not "not in use" but then
+	 * the device state changes to "not in use" before we are able to subscribe to the device state event, then
+	 * will that mean a missed opportunity?
+	 */
 	if (service == AST_CC_CCBS && (monitor->callbacks->status_request(monitor, core_id) == AST_DEVICE_NOT_INUSE)) {
 		return ast_cc_monitor_announce_availability(monitor);
 	}




More information about the asterisk-commits mailing list