Mike Bradeen ac8988c9a3 
	
	
	sched: fix and test a double deref on delete of an executing call back ... 
			sched: Avoid a double deref when AST_SCHED_DEL_UNREF is called on an
executing call-back. This is done by adding a new variable 'rescheduled'
to the struct sched which is set in ast_sched_runq and checked in
ast_sched_del_nonrunning. ast_sched_del_nonrunning is a replacement for
now deprecated ast_sched_del which returns a new possible value -2
if called on an executing call-back with rescheduled set. ast_sched_del
is modified to call ast_sched_del_nonrunning to maintain existing code.
AST_SCHED_DEL_UNREF is also updated to look for the -2 in which case it
will not throw a warning or invoke refcall.
test_sched: Add a new unit test sched_test_freebird that will check the
reference count in the resolved scenario.
ASTERISK-29698
Change-Id: Icfb16b3acbc29cf5b4cef74183f7531caaefe21d 
		
	 
		2022-01-21 10:05:48 -06:00 
	 
	
	
	
		 
	
	
		
			
			
			
			
			
			2021-11-15 15:28:45 -06:00 
		 
	
		
	
		
			
			
			
			
			
			2021-11-15 15:28:45 -06:00 
		 
	
		
			
			
			
			
			
			2020-07-20 11:37:48 -05:00 
		 
	
		
	
		
	
		
			
			
			
			
			
			2018-12-07 09:06:08 -05:00 
		 
	
		
			
			
			
			
			
			2021-12-02 15:02:42 -06:00 
		 
	
		
			
			
			
			
			
			2022-01-05 09:34:49 -06:00 
		 
	
		
			
			
			
			
			
			2020-05-05 10:06:43 -05:00 
		 
	
		
	
		
	
		
			
			
			
			
			
			2020-05-05 10:06:43 -05:00 
		 
	
		
	
		
			
			
			
			
			
			2022-01-19 16:25:54 -06:00 
		 
	
		
	
		
			
			
			
			
			
			2020-06-02 11:35:07 -05:00 
		 
	
		
			
			
			
			
			
			2021-11-15 15:28:45 -06:00 
		 
	
		
			
			
			
			
			
			2021-12-02 10:38:23 -06:00 
		 
	
		
			
			
			
			
			
			2021-12-02 15:02:42 -06:00 
		 
	
		
			
			
			
			
			
			2021-12-02 10:38:23 -06:00 
		 
	
		
			
			
			
			
			
			2019-09-23 07:35:48 -04:00 
		 
	
		
			
			
			
			
			
			2021-12-02 15:02:42 -06:00 
		 
	
		
	
		
			
			
			
			
			
			2021-12-02 15:02:42 -06:00 
		 
	
		
			
			
			
			
			
			2021-12-02 15:02:42 -06:00 
		 
	
		
			
			
			
			
			
			2021-11-18 16:13:03 -06:00 
		 
	
		
	
		
			
			
			
			
			
			2018-06-19 15:02:52 -05:00 
		 
	
		
			
			
			
			
			
			2020-04-06 10:23:20 -05:00 
		 
	
		
			
			
			
			
			
			2021-12-02 15:02:42 -06:00 
		 
	
		
			
			
			
			
			
			2021-12-02 15:02:42 -06:00 
		 
	
		
			
			
			
			
			
			2022-01-05 07:12:05 -06:00 
		 
	
		
			
			
			
			
			
			2021-12-02 15:02:42 -06:00 
		 
	
		
			
			
			
			
			
			2021-12-02 15:02:42 -06:00 
		 
	
		
			
			
			
			
			
			2021-11-15 15:28:45 -06:00 
		 
	
		
	
		
			
			
			
			
			
			2021-11-15 15:28:45 -06:00 
		 
	
		
			
			
			
			
			
			2021-12-02 15:02:42 -06:00 
		 
	
		
			
			
			
			
			
			2021-12-02 15:02:42 -06:00 
		 
	
		
			
			
			
			
			
			2021-12-02 15:02:42 -06:00 
		 
	
		
			
			
			
			
			
			2021-12-02 15:02:42 -06:00 
		 
	
		
			
			
			
			
			
			2022-01-05 11:39:48 -06:00 
		 
	
		
	
		
			
			
			
			
			
			2022-01-05 11:27:04 -06:00 
		 
	
		
			
			
			
			
			
			2021-08-03 07:15:10 -05:00 
		 
	
		
			
			
			
			
			
			2018-10-19 17:33:05 -04:00 
		 
	
		
			
			
			
			
			
			2021-09-02 15:13:03 -05:00 
		 
	
		
			
			
			
			
			
			2022-01-06 14:07:05 -06:00 
		 
	
		
			
			
			
			
			
			2020-09-02 06:22:25 -05:00 
		 
	
		
			
			
			
			
			
			2021-12-02 15:02:42 -06:00 
		 
	
		
			
			
			
			
			
			2021-03-22 07:50:04 -05:00 
		 
	
		
			
			
			
			
			
			2021-12-02 15:02:42 -06:00 
		 
	
		
	
		
			
			
			
			
			
			2020-04-15 13:56:40 -05:00 
		 
	
		
			
			
			
			
			
			2018-11-21 09:56:16 -05:00 
		 
	
		
			
			
			
			
			
			2019-12-27 17:32:22 -06:00 
		 
	
		
			
			
			
			
			
			2021-12-02 15:02:42 -06:00 
		 
	
		
			
			
			
			
			
			2021-12-02 15:02:42 -06:00 
		 
	
		
			
			
			
			
			
			2020-03-13 09:58:59 -05:00 
		 
	
		
			
			
			
			
			
			2021-12-02 15:02:42 -06:00 
		 
	
		
	
		
			
			
			
			
			
			2021-12-02 10:38:23 -06:00 
		 
	
		
			
			
			
			
			
			2020-06-10 09:33:28 -05:00 
		 
	
		
			
			
			
			
			
			2021-12-02 15:02:42 -06:00 
		 
	
		
			
			
			
			
			
			2021-12-02 10:38:23 -06:00 
		 
	
		
	
		
			
			
			
			
			
			2020-04-28 13:05:55 -05:00 
		 
	
		
			
			
			
			
			
			2021-12-02 15:02:42 -06:00 
		 
	
		
			
			
			
			
			
			2021-11-15 15:28:45 -06:00 
		 
	
		
			
			
			
			
			
			2022-01-05 12:24:25 -06:00 
		 
	
		
	
		
			
			
			
			
			
			2019-03-11 11:39:35 -03:00 
		 
	
		
			
			
			
			
			
			2021-11-15 15:28:45 -06:00 
		 
	
		
			
			
			
			
			
			2019-11-18 08:30:45 -06:00 
		 
	
		
			
			
			
			
			
			2021-11-15 15:28:45 -06:00 
		 
	
		
	
		
			
			
			
			
			
			2021-12-02 15:02:42 -06:00 
		 
	
		
			
			
			
			
			
			2021-12-02 15:02:42 -06:00 
		 
	
		
			
			
			
			
			
			2021-06-24 08:21:35 -05:00 
		 
	
		
	
		
			
			
			
			
			
			2020-09-15 14:37:21 -05:00 
		 
	
		
			
			
			
			
			
			2021-12-02 15:02:42 -06:00 
		 
	
		
	
		
			
			
			
			
			
			2018-10-19 17:33:05 -04:00 
		 
	
		
			
			
			
			
			
			2021-01-27 10:04:32 -06:00 
		 
	
		
	
		
			
			
			
			
			
			2021-11-15 15:28:45 -06:00 
		 
	
		
			
			
			
			
			
			2021-11-15 15:28:45 -06:00 
		 
	
		
	
		
	
		
	
		
	
		
			
			
			
			
			
			2021-12-15 09:58:12 -06:00 
		 
	
		
	
		
			
			
			
			
			
			2020-11-03 15:32:33 -06:00 
		 
	
		
			
			
			
			
			
			2021-12-02 15:02:42 -06:00 
		 
	
		
			
			
			
			
			
			2020-01-02 15:51:37 -06:00 
		 
	
		
	
		
			
			
			
			
			
			2021-10-28 08:58:44 -05:00 
		 
	
		
	
		
	
		
	
		
			
			
			
			
			
			2021-04-02 12:57:41 -05:00 
		 
	
		
			
			
			
			
			
			2018-10-19 12:34:08 -04:00 
		 
	
		
			
			
			
			
			
			2020-10-12 10:50:26 -05:00 
		 
	
		
			
			
			
			
			
			2022-01-05 10:55:13 -06:00 
		 
	
		
			
			
			
			
			
			2019-11-08 10:20:13 -05:00 
		 
	
		
			
			
			
			
			
			2022-01-05 10:55:13 -06:00 
		 
	
		
			
			
			
			
			
			2022-01-05 11:39:48 -06:00 
		 
	
		
	
		
			
			
			
			
			
			2022-01-05 10:55:13 -06:00 
		 
	
		
	
		
			
			
			
			
			
			2021-12-02 15:02:42 -06:00 
		 
	
		
	
		
	
		
			
			
			
			
			
			2021-12-02 15:02:42 -06:00 
		 
	
		
			
			
			
			
			
			2019-01-28 12:26:58 -07:00 
		 
	
		
			
			
			
			
			
			2021-12-02 15:02:42 -06:00 
		 
	
		
	
		
			
			
			
			
			
			2021-12-02 15:02:42 -06:00 
		 
	
		
			
			
			
			
			
			2021-12-02 15:02:42 -06:00 
		 
	
		
	
		
	
		
			
			
			
			
			
			2021-12-02 10:38:23 -06:00 
		 
	
		
			
			
			
			
			
			2021-12-02 15:02:42 -06:00 
		 
	
		
			
			
			
			
			
			2019-03-11 11:39:35 -03:00 
		 
	
		
			
			
			
			
			
			2021-12-02 15:02:42 -06:00 
		 
	
		
			
			
			
			
			
			2022-01-05 08:02:01 -06:00 
		 
	
		
			
			
			
			
			
			2021-11-15 15:28:45 -06:00 
		 
	
		
			
			
			
			
			
			2021-12-02 15:02:42 -06:00 
		 
	
		
	
		
			
			
			
			
			
			2021-08-06 09:19:38 -05:00 
		 
	
		
	
		
	
		
	
		
			
			
			
			
			
			2021-12-02 15:02:42 -06:00 
		 
	
		
			
			
			
			
			
			2022-01-12 08:35:54 -06:00 
		 
	
		
			
			
			
			
			
			2021-12-13 12:27:21 -06:00 
		 
	
		
			
			
			
			
			
			2021-12-02 15:02:42 -06:00 
		 
	
		
			
			
			
			
			
			2018-07-26 14:29:18 -05:00 
		 
	
		
	
		
			
			
			
			
			
			2019-03-11 11:39:35 -03:00 
		 
	
		
	
		
			
			
			
			
			
			2021-12-02 15:02:42 -06:00 
		 
	
		
			
			
			
			
			
			2022-01-12 13:39:43 -06:00 
		 
	
		
			
			
			
			
			
			2022-01-21 10:05:48 -06:00 
		 
	
		
	
		
			
			
			
			
			
			2019-03-11 11:39:35 -03:00 
		 
	
		
	
		
			
			
			
			
			
			2019-11-18 11:05:24 -05:00 
		 
	
		
			
			
			
			
			
			2021-12-02 15:02:42 -06:00 
		 
	
		
	
		
	
		
			
			
			
			
			
			2021-11-15 15:28:45 -06:00 
		 
	
		
			
			
			
			
			
			2021-12-02 15:02:42 -06:00 
		 
	
		
			
			
			
			
			
			2019-02-04 14:40:35 -06:00 
		 
	
		
			
			
			
			
			
			2021-12-02 15:02:42 -06:00 
		 
	
		
			
			
			
			
			
			2021-11-18 13:25:54 -06:00 
		 
	
		
			
			
			
			
			
			2019-03-11 11:39:35 -03:00 
		 
	
		
			
			
			
			
			
			2021-11-18 13:25:54 -06:00 
		 
	
		
			
			
			
			
			
			2022-01-05 11:39:48 -06:00 
		 
	
		
			
			
			
			
			
			2021-12-13 09:00:04 -06:00 
		 
	
		
			
			
			
			
			
			2021-12-02 10:38:23 -06:00 
		 
	
		
			
			
			
			
			
			2018-12-07 08:59:00 -05:00 
		 
	
		
			
			
			
			
			
			2021-11-18 13:25:54 -06:00 
		 
	
		
			
			
			
			
			
			2019-03-11 11:39:35 -03:00 
		 
	
		
			
			
			
			
			
			2022-01-05 11:39:48 -06:00 
		 
	
		
			
			
			
			
			
			2020-05-08 13:44:08 -05:00 
		 
	
		
			
			
			
			
			
			2020-09-11 10:41:15 -06:00 
		 
	
		
	
		
			
			
			
			
			
			2021-10-28 08:58:44 -05:00 
		 
	
		
			
			
			
			
			
			2021-11-15 15:28:45 -06:00 
		 
	
		
	
		
			
			
			
			
			
			2021-12-02 15:02:42 -06:00 
		 
	
		
			
			
			
			
			
			2022-01-05 09:41:35 -06:00 
		 
	
		
			
			
			
			
			
			2021-12-02 15:02:42 -06:00 
		 
	
		
			
			
			
			
			
			2021-09-09 06:48:40 -05:00 
		 
	
		
			
			
			
			
			
			2021-12-02 10:38:23 -06:00 
		 
	
		
			
			
			
			
			
			2021-12-02 15:02:42 -06:00 
		 
	
		
	
		
			
			
			
			
			
			2021-11-15 15:28:45 -06:00 
		 
	
		
	
		
			
			
			
			
			
			2021-12-02 15:02:42 -06:00 
		 
	
		
			
			
			
			
			
			2021-11-15 15:28:45 -06:00 
		 
	
		
	
		
	
		
			
			
			
			
			
			2020-07-28 09:45:17 -05:00 
		 
	
		
			
			
			
			
			
			2022-01-19 11:41:25 -06:00 
		 
	
		
			
			
			
			
			
			2021-12-02 15:02:42 -06:00 
		 
	
		
			
			
			
			
			
			2018-07-23 06:47:20 -05:00 
		 
	
		
			
			
			
			
			
			2021-11-29 08:49:55 -06:00