[fpc-devel] CSuspendThread/CResumeThread

Ales Katona almindor at gmail.com
Tue Nov 7 18:46:24 CET 2006


On ut , 2006-11-07 at 18:39 +0100, Jonas Maebe wrote:
> Hello,
> 
> Does anyone see a problem with the following CSuspendThread/ 
> CResumeThread implementations?
> 
>    function  CSuspendThread (threadHandle : TThreadID) : dword;
>      begin
>        result := pthread_kill(threadHandle,SIGSTOP);
>      end;
> 
> 
>    function  CResumeThread  (threadHandle : TThreadID) : dword;
>      begin
>        result := pthread_kill(threadHandle,SIGCONT);
>      end;
> 
Not sure how the signal handling is done per-thread in pthreads, will
need to study on this.
> 
> Those routines are currently empty, and called for *bsd/Darwin in  
> case you try to tthread.suspend one thread from inside another one.  
> FWIW, I guess Linux should be changed to also use the above (it  
> currently uses the regular kill, which may have unintended side  
> effects with NPTL).
> 
Indeed, linux should follow this principle too as any unix with
pthreads.

Ales




More information about the fpc-devel mailing list