qspy -fqs.bin -S2 -Q2 -P4 -p4 -T4 QSpy 4.0.00 Thu Apr 06 09:56:10 2005 -f qs.bin -S 2 -Q 2 -P 4 -p 4 -T 4 . . . . . . Obj Dic: 00419048->table EQ.INIT: Obj=00419050 Len= 5 0000000000 AO.ADD : Active=table Prio=51 Fun Dic: 00401CEE->Table_serving Sig Dic: 00000004,Obj=00419048 ->HUNGRY_SIG Sig Dic: 00000005,Obj=00419048 ->DONE_SIG Sig Dic: 00000006,Obj=00000000 ->EAT_SIG 0000000000 AO.SUB : Active=table Sig=HUNGRY_SIG 0000000000 AO.SUB : Active=table Sig=DONE_SIG 0000000000 AO.SUB : Active=table Sig=00000007,Obj=00419048 Q_INIT : Obj=table Source=00403CE0 Target=Table_serving 0000000000 ==>Init: Obj=table New=Table_serving . . . . . . // the Philosophers become hungry... 0000000007 AO.FIFO: Obj=table Evt(Sig=HUNGRY_SIG, Pool=1, Ref= 1) Queue(nUsed= 0, nMax= 0) 0000000007 AO.FIFO: Obj=table Evt(Sig=HUNGRY_SIG, Pool=1, Ref= 1) Queue(nUsed= 0, nMax= 0) 0000000007 AO.FIFO: Obj=table Evt(Sig=HUNGRY_SIG, Pool=1, Ref= 1) Queue(nUsed= 1, nMax= 1) 0000000007 AO.FIFO: Obj=table Evt(Sig=HUNGRY_SIG, Pool=1, Ref= 1) Queue(nUsed= 2, nMax= 2) Q_ENTRY: Obj=philo[2] State=Philosopher_hungry 0000000007 AO.GET : Active= table Evt(Sig=HUNGRY_SIG, Pool=1, Ref= 1) Queue(nUsed= 2) 0000000007 AO.FIFO: Obj=table Evt(Sig=HUNGRY_SIG, Pool=1, Ref= 1) Queue(nUsed= 2, nMax= 3) Q_ENTRY: Obj=philo[4] State=Philosopher_hungry Q_ENTRY: Obj=philo[1] State=Philosopher_hungry Q_ENTRY: Obj=philo[3] State=Philosopher_hungry 0000000007 ==>Tran: Obj=philo[2] Sig=TIMEOUT_SIG Source=Philosopher_thinking New=Philosopher_hungry 0000000007 ==>Tran: Obj=philo[4] Sig=TIMEOUT_SIG Source=Philosopher_thinking New=Philosopher_hungry 0000000007 ==>Tran: Obj=philo[3] Sig=TIMEOUT_SIG Source=Philosopher_thinking New=Philosopher_hungry 0000000007 ==>Tran: Obj=philo[1] Sig=TIMEOUT_SIG Source=Philosopher_thinking New=Philosopher_hungry Q_ENTRY: Obj=philo[0] State=Philosopher_hungry 0000000007 ==>Tran: Obj=philo[0] Sig=TIMEOUT_SIG Source=Philosopher_thinking New=Philosopher_hungry // user record output 0000000007 User070: 2 hungry // Table grants permissions to eat 0000000007 NEW : Evt(Sig=EAT_SIG, size= 6) 0000000007 MP.GET : Obj=00418E18 nFree= 5 nMin= 5 0000000007 AO.FIFO: Obj=philo[4] Evt(Sig=EAT_SIG, Pool=1, Ref= 0) Queue(nUsed= 0, nMax= 0) 0000000007 AO.FIFO: Obj=philo[3] Evt(Sig=EAT_SIG, Pool=1, Ref= 0) Queue(nUsed= 0, nMax= 0) 0000000007 AO.FIFO: Obj=philo[2] Evt(Sig=EAT_SIG, Pool=1, Ref= 0) Queue(nUsed= 0, nMax= 0) 0000000007 AO.FIFO: Obj=philo[1] Evt(Sig=EAT_SIG, Pool=1, Ref= 0) Queue(nUsed= 0, nMax= 0) 0000000007 AO.FIFO: Obj=philo[0] Evt(Sig=EAT_SIG, Pool=1, Ref= 0) Queue(nUsed= 0, nMax= 0) 0000000007 PUBLISH: Evt(Sig=EAT_SIG, Pool=1, Ref= 5) nSubsr= 5 0000000007 AO.GETL: Active= philo[4] Evt(Sig=EAT_SIG, Pool=1, Ref= 5) 0000000007 AO.GETL: Active= philo[2] Evt(Sig=EAT_SIG, Pool=1, Ref= 5) 0000000007 AO.GETL: Active= philo[3] Evt(Sig=EAT_SIG, Pool=1, Ref= 5) 0000000007 AO.GETL: Active= philo[1] Evt(Sig=EAT_SIG, Pool=1, Ref= 5) 0000000007 AO.GETL: Active= philo[0] Evt(Sig=EAT_SIG, Pool=1, Ref= 5) . . . . . .