"threads" creates a module called "HAL__fast" and then exits itself
without exiting the new module:

Jun  9 20:06:26 rm-one kernel: [ 3186.136955] HAL: initializing
component '__fast'
Jun  9 20:06:26 rm-one kernel: [ 3186.136956] RTAPI: initing module HAL___fast
Jun  9 20:06:26 rm-one kernel: [ 3186.136958] RTAPI: module
'HAL___fast' loaded, ID: 8
Jun  9 20:06:26 rm-one kernel: [ 3186.136959] smalloc_dn: shmem available 340255

Jun  9 20:06:26 rm-one kernel: [ 3186.136960] HAL: component '__fast'
initialized, ID = 08

Jun  9 20:06:26 rm-one kernel: [ 3186.136961] HAL: creating parameter
'fast.tmax'
Jun  9 20:06:26 rm-one kernel: [ 3186.136962] smalloc_dn: shmem available 340175
Jun  9 20:06:26 rm-one kernel: [ 3186.136964] HAL: creating pin 'fast.time'
Jun  9 20:06:26 rm-one kernel: [ 3186.136965] smalloc_dn: shmem available 340079
Jun  9 20:06:26 rm-one kernel: [ 3186.136967] HAL: thread created
Jun  9 20:06:26 rm-one kernel: [ 3186.136968] THREADS: created 100 uS thread 1
Jun  9 20:06:26 rm-one kernel: [ 3186.145505] HAL: removing component 07
Jun  9 20:06:26 rm-one kernel: [ 3186.145509] RTAPI: module_delete:
module 7 exiting
Jun  9 20:06:26 rm-one kernel: [ 3186.145512] RTAPI: module 7 exited,
name: 'HAL_threads'
Jun  9 20:06:26 rm-one kernel: [ 3186.145513] HAL: component 07
removed, name = 'threads'
Jun  9 20:06:26 rm-one kernel: [ 3186.489540] HAL: removing component 06
Jun  9 20:06:26 rm-one kernel: [ 3186.489544] RTAPI: module_delete:
module 6 exiting
Jun  9 20:06:26 rm-one kernel: [ 3186.489547] RTAPI: module 6 exited,
name: 'HAL_abs'
Jun  9 20:06:26 rm-one kernel: [ 3186.489548] HAL: component 06
removed, name = 'abs'
Jun  9 20:06:26 rm-one kernel: [ 3186.505446] RTAPI: shmem 03 freed by module 05
Jun  9 20:06:26 rm-one kernel: [ 3186.505448] HAL: removing component 05
Jun  9 20:06:26 rm-one kernel: [ 3186.505452] RTAPI: module_delete:
module 5 exiting
Jun  9 20:06:26 rm-one kernel: [ 3186.505455] RTAPI: module 5 exited,
name: 'HAL_streamer'
Jun  9 20:06:26 rm-one kernel: [ 3186.505456] HAL: component 05
removed, name = 'streamer'
Jun  9 20:06:26 rm-one kernel: [ 3186.525492] RTAPI: shmem 02 freed by module 04
Jun  9 20:06:26 rm-one kernel: [ 3186.525494] HAL: removing component 04
Jun  9 20:06:26 rm-one kernel: [ 3186.525497] RTAPI: module_delete:
module 4 exiting
Jun  9 20:06:26 rm-one kernel: [ 3186.525500] RTAPI: module 4 exited,
name: 'HAL_sampler'
Jun  9 20:06:26 rm-one kernel: [ 3186.525501] HAL: component 04
removed, name = 'sampler'
Jun  9 20:06:26 rm-one kernel: [ 3186.562898] HAL_LIB: removing kernel lib
Jun  9 20:06:26 rm-one kernel: [ 3186.562913] RTAPI: task 01 deleted
Jun  9 20:06:26 rm-one kernel: [ 3186.562929] RTAPI: shmem 01 freed by module 01
Jun  9 20:06:26 rm-one kernel: [ 3186.562930] RTAPI: module_delete:
module 1 exiting
Jun  9 20:06:26 rm-one kernel: [ 3186.562933] RTAPI: module 1 exited,
name: 'HAL_LIB'
Jun  9 20:06:26 rm-one kernel: [ 3186.562935] HAL_LIB: kernel lib
removed successfully
Jun  9 20:06:26 rm-one kernel: [ 3186.577535] RTAPI: Exiting

Jun  9 20:06:26 rm-one kernel: [ 3186.577538] RTAPI: WARNING: module
'HAL___fast' (ID: 08) did not call rtapi_exit()

Jun  9 20:06:26 rm-one kernel: [ 3186.577539] RTAPI: module_delete:
module 8 exiting
Jun  9 20:06:26 rm-one kernel: [ 3186.577542] RTAPI: module 8 exited,
name: 'HAL___fast'

To get rid of this it looks like it would be necessary for
hal_create_thread to pass back the comp_id of the module, and then
threads can call exit() on it.

As a kludge (and because it is always module 8) I changed
rtapi_app_exit of threads.c to

void rtapi_app_exit(void)
{
    rtapi_print_msg(RTAPI_MSG_INFO, "THREADS: hal_exit");
    hal_exit(8);
    hal_exit(comp_id);
}

And that quietens the warning. Unfortuately it doesn't (as I hoped) do
anything for the runtests crash with RTAI.

-- 
atp
"A motorcycle is a bicycle with a pandemonium attachment and is
designed for the especial use of mechanical geniuses, daredevils and
lunatics."
— George Fitch, Atlanta Constitution Newspaper, 1912


_______________________________________________
Emc-developers mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/emc-developers

Reply via email to