@@ -99,6 +99,8 @@ void tsk_init( tsk_t *tsk, unsigned prio, fun_t *proc, stk_t *stack, size_t size
9999 priv_wrk_init (tsk , prio , proc , NULL , stack , size , NULL , false);
100100 if (proc )
101101 {
102+ tsk -> start = core_sys_time ();
103+
102104 core_ctx_init (tsk );
103105 core_tsk_insert (tsk );
104106 }
@@ -121,6 +123,8 @@ tsk_t *wrk_create( unsigned prio, fun_t *proc, size_t size, bool detached, bool
121123 tsk = priv_wrk_create (prio , proc , NULL , size , detached );
122124 if (tsk && autostart )
123125 {
126+ tsk -> start = core_sys_time ();
127+
124128 core_ctx_init (tsk );
125129 core_tsk_insert (tsk );
126130 }
@@ -144,6 +148,8 @@ tsk_t *tsk_setup( unsigned prio, fun_a *proc, void *arg, size_t size )
144148 tsk = priv_wrk_create (prio , (fun_t * )proc , arg , size , false);
145149 if (tsk && proc )
146150 {
151+ tsk -> start = core_sys_time ();
152+
147153 core_ctx_init (tsk );
148154 core_tsk_insert (tsk );
149155 }
@@ -166,6 +172,8 @@ void tsk_start( tsk_t *tsk )
166172 {
167173 if (tsk -> hdr .id == ID_STOPPED ) // active tasks cannot be started
168174 {
175+ tsk -> start = core_sys_time ();
176+
169177 core_ctx_init (tsk );
170178 core_tsk_insert (tsk );
171179 }
@@ -187,6 +195,7 @@ void tsk_startFrom( tsk_t *tsk, fun_t *proc )
187195 if (tsk -> hdr .id == ID_STOPPED ) // active tasks cannot be started
188196 {
189197 tsk -> proc = proc ;
198+ tsk -> start = core_sys_time ();
190199
191200 core_ctx_init (tsk );
192201 core_tsk_insert (tsk );
@@ -210,6 +219,7 @@ void tsk_startWith( tsk_t *tsk, fun_a *proc, void *arg )
210219 {
211220 tsk -> proc = (fun_t * )proc ;
212221 tsk -> arg = arg ;
222+ tsk -> start = core_sys_time ();
213223
214224 core_ctx_init (tsk );
215225 core_tsk_insert (tsk );
0 commit comments