Hello,
I have been doing some coding on SANE now that my Python project was mindless...
I have almost got all the MainFunction compiled there is just two files that dont work... the first is a file with SCSI support commands in it, I have just skip it as I have no SCSI to test it with.
The second is Thread support and a more serious problem. They have been so nice to make two versions one with fork() and one with PThread.. When I try to compile the file it complains about some sigaction structure/function. (see below)
static void restore_sigpipe( void ) { struct sigaction act;
if( sigaction( SIGPIPE, NULL, &act ) == 0 ) {
if( act.sa_handler == SIG_IGN ) { sigemptyset( &act.sa_mask ); act.sa_flags = 0; act.sa_handler = SIG_DFL;
DBG( 2, "restoring SIGPIPE to SIG_DFL\n" ); sigaction( SIGPIPE, &act, NULL ); } } }
In this code its first definded sigaction as a structure and then call it as a function ?! Its not the only place where they do that trick.
This is what the compiler writes to me
2.Work:CVS-Home/sane-backends> make gcc -Wall -mcrt=clib2 -Os -Iwork:cvs-home/sane-backends/include -c -o sanei/sanei_thread.o sanei/sanei_thread.c sanei/sanei_thread.c: In function `restore_sigpipe': sanei/sanei_thread.c:310: error: storage size of 'act' isn't known sanei/sanei_thread.c:312: warning: implicit declaration of function `sigaction' sanei/sanei_thread.c:312: error: `SIGPIPE' undeclared (first use in this function) sanei/sanei_thread.c:312: error: (Each undeclared identifier is reported only once sanei/sanei_thread.c:312: error: for each function it appears in.) sanei/sanei_thread.c:310: warning: unused variable `act' sanei/sanei_thread.c: In function `sanei_thread_begin': sanei/sanei_thread.c:356: error: storage size of 'act' isn't known sanei/sanei_thread.c:360: error: `SIGPIPE' undeclared (first use in this function) sanei/sanei_thread.c:356: warning: unused variable `act' sanei/sanei_thread.c: In function `sanei_thread_sendsig': sanei/sanei_thread.c:411: warning: implicit declaration of function `pthread_kill' make: *** [sanei/sanei_thread.o] Error 1
Any vice person that know what to do?
Ohh ya almost forgot they seam to use pthread_kill() is there an easy way to emulate that function?
Kind regards Rene W. Olsen