From bbf6c047a25b29ecaf46da50c378421f17410a90 Mon Sep 17 00:00:00 2001 From: Pavel <68122101+red-prig@users.noreply.github.com> Date: Tue, 7 Mar 2023 12:45:03 +0300 Subject: [PATCH] + --- sys/kern/kern_sig.pas | 8 ++++---- sys/test/project1.lpr | 9 +++++++-- 2 files changed, 11 insertions(+), 6 deletions(-) diff --git a/sys/kern/kern_sig.pas b/sys/kern/kern_sig.pas index f8bef65b..5c7019cd 100644 --- a/sys/kern/kern_sig.pas +++ b/sys/kern/kern_sig.pas @@ -1633,7 +1633,7 @@ begin end; if ((flags and TDF_NEEDSIGCHK)<>0) or - (p_pendingcnt > 0) or + (p_pendingcnt>0) or (not SIGISEMPTY(@g_p_sigqueue.sq_list)) then begin PROC_LOCK; @@ -1641,7 +1641,7 @@ begin repeat sig:=cursig(td,SIG_STOP_ALLOWED); - if (sig=0) then Exit; + if (sig=0) then Break; postsig(sig); until false; @@ -1651,9 +1651,9 @@ begin if ((flags and TDF_NEEDSUSPCHK)<>0) then begin - PROC_LOCK; + //PROC_LOCK; //thread_suspend_check(0); - PROC_UNLOCK; + //PROC_UNLOCK; end; if ((td^.td_pflags and TDP_OLDMASK)<>0) then diff --git a/sys/test/project1.lpr b/sys/test/project1.lpr index a884176c..8befe243 100644 --- a/sys/test/project1.lpr +++ b/sys/test/project1.lpr @@ -165,7 +165,7 @@ begin end; var - tid:QWORD; + tid,tid2:QWORD; var xmm0:array[0..15] of Byte=(1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1); @@ -187,6 +187,8 @@ begin if (tid<>curkthread^.td_tid) then begin + tid2:=curkthread^.td_tid; + osem:=osem_create('osem test',1,1,10); Writeln('osem=',osem,' _errno:',__error^); @@ -203,7 +205,7 @@ begin Writeln('_osem_wait_err=',i,' _errno:',__error^); t:=400; - i:=_osem_wait_err(osem,1,@t); + i:=_osem_wait_err(osem,1,nil); Writeln('_osem_wait_err=',i,' _errno:',__error^); writeln; @@ -246,7 +248,10 @@ begin Writeln('after: sptr:',HexStr(sptr)); end; + sleep(500); //_osem_post_err(osem,1); + thr_kill(tid2,SIGUSR1); + _osem_post_err(osem,1); sig_lock; sig_lock;