@@ -822,28 +822,34 @@ int k_work_queue_stop(struct k_work_q *queue, k_timeout_t timeout)
822822{
823823 __ASSERT_NO_MSG (queue );
824824
825+ SYS_PORT_TRACING_OBJ_FUNC_ENTER (k_work_queue , stop , queue , timeout );
825826 k_spinlock_key_t key = k_spin_lock (& lock );
826827
827828 if (!flag_test (& queue -> flags , K_WORK_QUEUE_STARTED_BIT )) {
828829 k_spin_unlock (& lock , key );
830+ SYS_PORT_TRACING_OBJ_FUNC_EXIT (k_work_queue , stop , queue , timeout , - EALREADY );
829831 return - EALREADY ;
830832 }
831833
832834 if (!flag_test (& queue -> flags , K_WORK_QUEUE_PLUGGED_BIT )) {
833835 k_spin_unlock (& lock , key );
836+ SYS_PORT_TRACING_OBJ_FUNC_EXIT (k_work_queue , stop , queue , timeout , - EBUSY );
834837 return - EBUSY ;
835838 }
836839
837840 flag_set (& queue -> flags , K_WORK_QUEUE_STOP_BIT );
838841 notify_queue_locked (queue );
839842 k_spin_unlock (& lock , key );
843+ SYS_PORT_TRACING_OBJ_FUNC_BLOCKING (k_work_queue , stop , queue , timeout );
840844 if (k_thread_join (& queue -> thread , timeout )) {
841845 key = k_spin_lock (& lock );
842846 flag_clear (& queue -> flags , K_WORK_QUEUE_STOP_BIT );
843847 k_spin_unlock (& lock , key );
848+ SYS_PORT_TRACING_OBJ_FUNC_EXIT (k_work_queue , stop , queue , timeout , - ETIMEDOUT );
844849 return - ETIMEDOUT ;
845850 }
846851
852+ SYS_PORT_TRACING_OBJ_FUNC_EXIT (k_work_queue , stop , queue , timeout , 0 );
847853 return 0 ;
848854}
849855
0 commit comments