[fpc-devel]Problems with Linux signal calls.

Lloyd B. Park lpark at kent.edu
Tue Jan 6 20:30:03 CET 2004

On Tue, 6 Jan 2004, Marco van de Voort wrote:

> > I found a bug in Linux signal handling which effects both the 1.0.10 and 
> > 1.9.0 versions of FreePascal.  The SigSet type is too small.  This results 
> > in some signal calls overwriting other memory locations.   
> This is actually more a problem of linux. Or better of the combination
> of glibc and linux. Kernel and libc structures don't match like on e.g.
> BSD.

OK, I understand this.

> Keep in mind that baseunix exports the _kernel_ sigset_t, while you pass
> it to _glibc_.

But this one I don't.  My glibc imported functions are the ones which work 
for me.  I defined sigset_t myself when I converted the glibc structures 
to Pascal.  When I am using glibc (MyXXXX functions in my example), 
everything works.  It is the implementation in BaseLinux (1.9.0 (NewXXXX 
functions in my example) and Linux (1.0.10) units where I have problems.  
I thought it was because of the difference in the size of sigset between 
BaseUnix and glibc, but I am sure it could be me doing something stupid.  
It wouldn't be the first time.  Am I doing something wrong when I use the 
BaseUnix versions of the signal calls?  

> All the declared functions are available in baseunix, so there is no reason
> for this anyway.
> There is a way to recompile FPC to be based on libc instead of the kernel,
> but that is only a week old.

> To get an idea, read also http://www.stack.nl~/marcov/unixrtl.pdf

I prefer the native kernel calls if I can make them work for me.  But 
thanks for the pointer.  I'll look over your documentation.

> _______________________________________________
> fpc-devel maillist  -  fpc-devel at lists.freepascal.org
> http://lists.freepascal.org/mailman/listinfo/fpc-devel

Lloyd B. Park         (330) 672-0384
310 Moulton Hall
Kent State University
Kent, OH 44242

More information about the fpc-devel mailing list