diff options
-rw-r--r-- | main/sched.c | 11 |
1 files changed, 9 insertions, 2 deletions
diff --git a/main/sched.c b/main/sched.c index e92e3ffd0..f851670af 100644 --- a/main/sched.c +++ b/main/sched.c @@ -315,9 +315,16 @@ static int add_ids(struct ast_sched_context *con) if (!new_id) { break; } - new_id->id = i; + + /* + * According to the API doxygen a sched ID of 0 is valid. + * Unfortunately, 0 was never returned historically and + * several users incorrectly coded usage of the returned + * sched ID assuming that 0 was invalid. + */ + new_id->id = ++con->id_queue_size; + AST_LIST_INSERT_TAIL(&con->id_queue, new_id, list); - ++con->id_queue_size; } return con->id_queue_size - original_size; |