@@ -59,6 +59,7 @@ int odp_crypto_term_global(void);
int odp_schedule_init_global(void);
int odp_schedule_term_global(void);
int odp_schedule_init_local(void);
+int odp_schedule_term_local(void);
int odp_timer_init_global(void);
int odp_timer_disarm_all(void);
@@ -146,5 +146,10 @@ int odp_init_local(void)
int odp_term_local(void)
{
+ if (odp_schedule_term_local()) {
+ ODP_ERR("ODP schedule local term failed.\n");
+ return -1;
+ }
+
return (odp_thread_term_local() > 0) ? 1 : 0;
}
@@ -4,6 +4,7 @@
* SPDX-License-Identifier: BSD-3-Clause
*/
+#include <string.h>
#include <odp/schedule.h>
#include <odp_schedule_internal.h>
#include <odp/align.h>
@@ -188,6 +189,11 @@ int odp_schedule_init_local(void)
return 0;
}
+int odp_schedule_term_local(void)
+{
+ memset(&sched_local, 0, sizeof(sched_local_t));
+ return 0;
+}
void odp_schedule_mask_set(odp_queue_t queue, int prio)
{