@@ -46,9 +46,10 @@ static inline void msg_finalize(struct log_msg *msg,
4646 msg -> hdr .ids = src_level ;
4747 msg -> hdr .timestamp = timestamp_func ();
4848
49+ atomic_inc (& buffered_cnt );
50+
4951 if (!IS_ENABLED (CONFIG_LOG_INPLACE_PROCESS ) &&
5052 CONFIG_LOG_PROCESS_TRIGGER_THRESHOLD ) {
51- atomic_inc (& buffered_cnt );
5253 if (buffered_cnt == CONFIG_LOG_PROCESS_TRIGGER_THRESHOLD &&
5354 proc_tid ) {
5455 k_wakeup (proc_tid );
@@ -224,7 +225,6 @@ void log_init(void)
224225 timestamp_func = timestamp_get ;
225226 log_output_timestamp_freq_set (CONFIG_SYS_CLOCK_HW_CYCLES_PER_SEC );
226227
227-
228228 /* Assign ids to backends. */
229229 for (i = 0 ; i < log_backend_count_get (); i ++ ) {
230230 log_backend_id_set (log_backend_get (i ),
@@ -239,7 +239,7 @@ void log_init(void)
239239#endif
240240}
241241
242- void log_thread_set (k_tid_t process_tid )
242+ static void thread_set (k_tid_t process_tid )
243243{
244244 proc_tid = process_tid ;
245245
@@ -251,6 +251,15 @@ void log_thread_set(k_tid_t process_tid)
251251 }
252252}
253253
254+ void log_thread_set (k_tid_t process_tid )
255+ {
256+ if (IS_ENABLED (CONFIG_LOG_PROCESS_THREAD )) {
257+ assert (0 );
258+ } else {
259+ thread_set (process_tid );
260+ }
261+ }
262+
254263int log_set_timestamp_func (timestamp_get_t timestamp_getter , u32_t freq )
255264{
256265 if (!timestamp_getter ) {
@@ -332,6 +341,11 @@ bool log_process(bool bypass)
332341 return (log_list_head_peek (& list ) != NULL );
333342}
334343
344+ u32_t log_buffered_cnt (void )
345+ {
346+ return buffered_cnt ;
347+ }
348+
335349u32_t log_src_cnt_get (u32_t domain_id )
336350{
337351 return log_sources_count ();
@@ -444,13 +458,10 @@ u32_t log_filter_get(struct log_backend const *const backend,
444458}
445459
446460#ifdef CONFIG_LOG_PROCESS_THREAD
447-
448- #define STACKSIZE 768
449-
450461static void log_process_thread_func (void * dummy1 , void * dummy2 , void * dummy3 )
451462{
452463 log_init ();
453- log_thread_set (k_current_get ());
464+ thread_set (k_current_get ());
454465
455466 while (1 ) {
456467 if (log_process (false) == false) {
@@ -459,7 +470,7 @@ static void log_process_thread_func(void *dummy1, void *dummy2, void *dummy3)
459470 }
460471}
461472
462- K_THREAD_DEFINE (log_process_thread , STACKSIZE , log_process_thread_func ,
463- NULL , NULL , NULL ,
464- K_LOWEST_APPLICATION_THREAD_PRIO , 0 , K_NO_WAIT );
473+ K_THREAD_DEFINE (log_process_thread , CONFIG_LOG_PROCESS_THREAD_STACK_SIZE ,
474+ log_process_thread_func , NULL , NULL , NULL ,
475+ CONFIG_LOG_PROCESS_THREAD_PRIO , 0 , K_NO_WAIT );
465476#endif /* CONFIG_LOG_PROCESS_THREAD */
0 commit comments