Patch: Elm ME+ 2.5 PLalpha50 -> Elm ME+ 2.5 PLalpha51 [3/6] (4/4)
From
Kari Hurtta@21:1/5 to
All on Tue Feb 11 20:04:52 2020
[continued from previous message]
+ "free_schedule: timed task %d (task handle %p) -- removing only time task %p (data)\n",
+ ptr,timed_task_handles[ptr],timed_task_handles[ptr]->task));
+ timed_task_handles[ptr]->busy = 1;
+ timed_task_handles[ptr]->free_task(& (timed_task_handles[ptr]->task));
+ if (timed_task_handles[ptr]) {
+ timed_task_handles[ptr]->busy = 0;
+ timed_task_handles[ptr]->task = NULL;
+ } else {
+ DPRINT(Debug,12,(&Debug,
+ "free_schedule: timed task %d -- OOPS ->free_task() free'ed timed task handle?\n",
+ ptr));
+ }
+ }
+
+ }
+ }
+ }
+ }
+
+ if (0 == timed_task_handle_count && timed_task_handles) {
+ DPRINT(Debug,12,(&Debug,"free_schedule: freeing timed_task_handles array\n"));
+ free(timed_task_handles);
+ timed_task_handles = NULL;
+ }
+ }
+
static enum real_wait_status {
real_wait_next_timeout = -2,
***************
*** 1455,1460 ****
--- 1690,1697 ----
+
+
#ifdef HAVE_SELECT
/* --------------------- select() ------------------------------------------ */
***************
*** 2742,2748 ****
case real_wait_next_timeout: DPRINT(Debug,12,(&Debug," (real_wait_next_timeout)")); break;
case real_wait_error: DPRINT(Debug,12,(&Debug," (real_wait_error"));
if (err) {
! DPRINT(Debug,10,(&Debug,"; errno %d (%s)",
err,strerror(err)));
}
DPRINT(Debug,12,(&Debug,")"));
--- 2979,2985 ----
case real_wait_next_timeout: DPRINT(Debug,12,(&Debug," (real_wait_next_timeout)")); break;
case real_wait_error: DPRINT(Debug,12,(&Debug," (real_wait_error"));
if (err) {
! DPRINT(Debug,12,(&Debug,"; errno %d (%s)",
err,strerror(err)));
}
DPRINT(Debug,12,(&Debug,")"));
Index: elmME+.2.5.alpha51-cvs/lib/streamsched.c
*** elmME+.2.5.alpha50/lib/streamsched.c Thu Jun 6 21:00:46 2019
--- elmME+.2.5.alpha51-cvs/lib/streamsched.c Sat Jan 18 22:07:4