From 3cdf2fe440d983edfc0e8c29f8586b4e284f9e01 Mon Sep 17 00:00:00 2001
From: Mark Michelson <mmichelson@digium.com>
Date: Fri, 2 May 2008 14:28:55 +0000
Subject: [PATCH] Merged revisions 115196 via svnmerge from
 https://origsvn.digium.com/svn/asterisk/branches/1.4

........
r115196 | mmichelson | 2008-05-02 09:28:19 -0500 (Fri, 02 May 2008) | 6 lines

Clarify a comment that was, well, just wrong. It turns out that
ignoring the way that macros expand. Instead, I have clarified in the
comment why the macro will work even if the scheduler id for the
task to be deleted changes during the execution of the macro.


........


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@115197 65c4cc65-6c06-0410-ace0-fbb531ad65f3
---
 include/asterisk/sched.h | 16 +++++-----------
 1 file changed, 5 insertions(+), 11 deletions(-)

diff --git a/include/asterisk/sched.h b/include/asterisk/sched.h
index ed855d5624..526c0d90d3 100644
--- a/include/asterisk/sched.h
+++ b/include/asterisk/sched.h
@@ -42,17 +42,11 @@ extern "C" {
  * then whatever callback had been running will complete
  * and reinsert the task into the scheduler.
  *
- * Note that this is NOT always appropriate. This should 
- * only be used for tasks whose callback may return non-zero 
- * to indicate that the task needs to be rescheduled with the
- * SAME id as previously.
- *
- * Some scheduler callbacks instead may reschedule the task themselves,
- * thus removing the previous task id from the queue. If the task is rescheduled
- * in this manner, then the id for the task will be different than before
- * and so it makes no sense to use this macro. Note that if using the scheduler
- * in this manner, it is perfectly acceptable for ast_sched_del to fail, and this
- * macro should NOT be used.
+ * Since macro expansion essentially works like pass-by-name
+ * parameter passing, this macro will still work correctly even
+ * if the id of the task to delete changes. This holds as long as 
+ * the name of the id which could change is passed to the macro 
+ * and not a copy of the value of the id.
  */
 #define AST_SCHED_DEL(sched, id) \
 	do { \
-- 
GitLab