diff --git a/rtl/gtailq.pas b/rtl/mqueue.pas similarity index 99% rename from rtl/gtailq.pas rename to rtl/mqueue.pas index 8cb93be2..1649d8ef 100644 --- a/rtl/gtailq.pas +++ b/rtl/mqueue.pas @@ -1,4 +1,4 @@ -unit gtailq; +unit mqueue; {$mode ObjFPC}{$H+} diff --git a/sys/kern/kern_sig.pas b/sys/kern/kern_sig.pas index 9be08451..4953d2ed 100644 --- a/sys/kern/kern_sig.pas +++ b/sys/kern/kern_sig.pas @@ -6,7 +6,7 @@ unit kern_sig; interface uses - gtailq, + mqueue, time, signal, signalvar, diff --git a/sys/kern/kern_thr.pas b/sys/kern/kern_thr.pas index ea49f0aa..a137c0ca 100644 --- a/sys/kern/kern_thr.pas +++ b/sys/kern/kern_thr.pas @@ -6,7 +6,7 @@ unit kern_thr; interface uses - gtailq, + mqueue, ucontext, signal, signalvar; diff --git a/sys/kern/kern_thread.pas b/sys/kern/kern_thread.pas index f999765b..19df03bb 100644 --- a/sys/kern/kern_thread.pas +++ b/sys/kern/kern_thread.pas @@ -6,8 +6,8 @@ unit kern_thread; interface uses + mqueue, kern_thr, - gtailq, ntapi, windows, ucontext, diff --git a/sys/kern/kern_umtx.pas b/sys/kern/kern_umtx.pas index abba11da..cf37f221 100644 --- a/sys/kern/kern_umtx.pas +++ b/sys/kern/kern_umtx.pas @@ -6,7 +6,7 @@ unit kern_umtx; interface uses - gtailq, + mqueue, kern_rwlock, time, kern_time, @@ -61,7 +61,6 @@ type //per thread local umtx_q=packed record - //pNext,pPrev:p_umtx_q; //uq_link uq_link:packed record pNext:p_umtx_q; pPrev:PPointer; @@ -75,15 +74,12 @@ type uq_cur_queue :p_umtxq_queue; end; - //umtxq_head=specialize TAILQ_HEAD; - //per mutex addr umtxq_queue=packed record head:packed record pFirst:p_umtx_q; pLast :PPointer; end; - //head :umtxq_head; length :Integer; align :Integer; end; @@ -237,7 +233,6 @@ begin uh:=umtxq_queue_lookup(key,UMTX_SHARED_QUEUE); if (uh<>nil) then begin - //first:=uh^.head.pHead; //TAILQ_FIRST first :=TAILQ_FIRST(@uh^.head); Result:=uh^.length; end; @@ -268,7 +263,6 @@ begin uh:=umtxq_queue_lookup(uq^.uq_key,q); - //uh^.head.Insert_tail(uq); TAILQ_INSERT_TAIL(@uh^.head,uq,@uq^.uq_link); Inc(uh^.length); @@ -284,13 +278,11 @@ begin begin uh:=uq^.uq_cur_queue; - //uh^.head.Remove(uq); //uq_link TAILQ_REMOVE(@uh^.head,uq,@uq^.uq_link); Dec(uh^.length); uq^.uq_flags:=uq^.uq_flags and (not UQF_UMTXQ); - //if (uh^.head.pHead=nil) then //TAILQ_EMPTY if TAILQ_EMPTY(@uh^.head) then begin Assert(uh^.length=0,'inconsistent umtxq_queue length'); @@ -357,7 +349,6 @@ begin if (uh<>nil) then begin repeat - //uq:=uh^.head.pHead; //TAILQ_FIRST uq:=TAILQ_FIRST(@uh^.head); if (uq=nil) then Break; @@ -1072,7 +1063,6 @@ begin pri:=UPRI(uq_first^.uq_thread); end; - //uq_first:=uq_first^.pNext; uq_first:=TAILQ_NEXT(uq_first,@uq_first^.uq_link); end; @@ -1213,7 +1203,6 @@ begin pri:=UPRI(uq2^.uq_thread); end; uq2:=TAILQ_NEXT(uq2,@uq2^.uq_link); - //uq2:=uq2^.pNext; end; if (pri>uq^.uq_inherited_pri) then @@ -1245,7 +1234,6 @@ begin pri:=UPRI(uq2^.uq_thread); end; uq2:=TAILQ_NEXT(uq2,@uq2^.uq_link); - //uq2:=uq2^.pNext; end; if (pri>uq^.uq_inherited_pri) then @@ -1326,7 +1314,6 @@ begin pri:=UPRI(uq2^.uq_thread); end; uq2:=TAILQ_NEXT(uq2,@uq2^.uq_link); - //uq2:=uq2^.pNext; end; if (pri>uq^.uq_inherited_pri) then diff --git a/sys/kern/subr_sleepqueue.pas b/sys/kern/subr_sleepqueue.pas index 57bde492..c872b89f 100644 --- a/sys/kern/subr_sleepqueue.pas +++ b/sys/kern/subr_sleepqueue.pas @@ -6,7 +6,7 @@ unit subr_sleepqueue; interface uses - gtailq, + mqueue, hamt, kern_mtx, kern_thr, diff --git a/sys/test/project1.lpi b/sys/test/project1.lpi index d64a68a5..6039a768 100644 --- a/sys/test/project1.lpi +++ b/sys/test/project1.lpi @@ -61,10 +61,6 @@ - - - - @@ -177,6 +173,10 @@ + + + + diff --git a/sys/test/project1.lpr b/sys/test/project1.lpr index f84dffe7..fae047a8 100644 --- a/sys/test/project1.lpr +++ b/sys/test/project1.lpr @@ -2,7 +2,7 @@ uses windows, atomic, - ntapi, + ntapi, mqueue, signal, ucontext, _umtx,