OK, I'm refactoring the scheduler system a bit, mainly
moving stuff into cleaner modules and renaming things
with rubbish names like "doflx" to something more meaningful.

I think I've now isolated the central problem. When a pthread
is created, a new async object is created too. This means
a separate demux and a separate queue of fthreads
waiting for rescheduling.

We need a separate queue because fthreads have affinity
to a particular pthread. But there's no reason for two 
demux pthreads.

The queue is important, because it provides a way an embedded
event loop can create new fthreads .. just whack them onto the
queue.

The queue is used because it is thread safe. So any thread can
post an fthread onto the queue.

However there is a reason to put jobs on a shared queue.
That way, multiple felix pthreads can service jobs.

--
john skaller
skal...@users.sourceforge.net
http://felix-lang.org




------------------------------------------------------------------------------
Flow-based real-time traffic analytics software. Cisco certified tool.
Monitor traffic, SLAs, QoS, Medianet, WAAS etc. with NetFlow Analyzer
Customize your own dashboards, set traffic alerts and generate reports.
Network behavioral analysis & security monitoring. All-in-one tool.
http://pubads.g.doubleclick.net/gampad/clk?id=126839071&iu=/4140/ostg.clktrk
_______________________________________________
Felix-language mailing list
Felix-language@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/felix-language

Reply via email to