Purpose of kqueue_task?

Sebastian Huber sebastian.huber at embedded-brains.de
Fri Mar 15 16:54:43 UTC 2013


Hello,

I want to port the FreeBSD kqueue implementation to another operating system 
(RTEMS in this case) to improve the Erlang support.

I have difficulties to understand the purpose of the kqueue_task.  This 
function runs asynchronously.  It obtains some locks and wakes up the normal 
kqueue channel if (kq->kq_state & KQ_TASKDRAIN) == KQ_TASKDRAIN.  This state is 
only set in kqueue_close().  So most of the time the kqueue_task only obtains 
some locks, clears a flag (KQ_TASKSCHED) and releases the locks?

-- 
Sebastian Huber, embedded brains GmbH

Address : Dornierstr. 4, D-82178 Puchheim, Germany
Phone   : +49 89 189 47 41-16
Fax     : +49 89 189 47 41-09
E-Mail  : sebastian.huber at embedded-brains.de
PGP     : Public key available on request.

Diese Nachricht ist keine geschäftliche Mitteilung im Sinne des EHUG.


More information about the freebsd-hackers mailing list