[ECOS] new kernel: question
张 亮
johnsonest@hotmail.com
Fri Mar 7 04:37:00 GMT 2003
Hi, Jonathan,
After thinking carefully about new kernel of eCos, I feel that
allowing to rescheduling when scheduler is locked is more safe for tcp/ip
stack and other complex app,but NOT safe to this case:
system has three threads:
(1) thread1
(2) thread2
(3) system idle thread
thread2 is sleeping for resource which will given by thread1,thread1
is running.Before thread1 active thread2, it wants to wait a event(post by
DSR) with scheduler's lock >1, so thread1 is rescheduled,but during
rescheduling, *the* DSR was post,but because new lock!=0,DSR will not be
called,so only idle thread is active.thread1 and thread2 will be dead
locked unless other ISR and DSR was post again.Of course,real time clock
will unlock this state.hehe!
It is a challenge to fix this problem.
BRS/johnsonest
_________________________________________________________________
Ãëê»úµÃÃ
óÃýøÃý»Ã÷£¬ÃëùÃà MSN Messenger: http://messenger.msn.com/cn
--
Before posting, please read the FAQ: http://sources.redhat.com/fom/ecos
and search the list archive: http://sources.redhat.com/ml/ecos-discuss
More information about the Ecos-discuss
mailing list