On 19/04/15 07:40, Paul Goyette wrote:
In my on-going efforts to further modularize the NetBSD kernel, I'm
currently prying apart the pieces of sysmon...
One of those pieces would be sysmon_taskq, which provides a lwp
environment to execute callouts. In the sysmon_taskq_init() routine
there is a call to kthread_create(), so it would seem reasonable that
sysmon_taskq_fini() would call kthread_destroy().
Unfortunately, when building rump_allserver I discover that there is no
rump emulation for kthread_destroy(). There is _create(), _join(),
_exit(), and _init(), but no _destroy().
Is there a reason for not providing kthread_desetroy()? How difficult
would it be to add it?
The right thing to use is kthread_exit().
I don't see why kthread_destroy() needs to be in the public API at all.
I'd just remove it.