Description:
On IRIX 5.3 signal() is defined as follows:
C++:
void (*signal (int sig, void (*func)(...)))(...);
Thus client/mysql.cc fails when compiling with g++ 3.4.3 because mysql_end is of a different type. I changed the respective code into
#ifdef IRIX5
#define _MYSQL_END_TYPE (void (*)(...))
#else
#define _MYSQL_END_TYPE
#endif
signal(SIGINT, _MYSQL_END_TYPE mysql_end); // Catch SIGINT
to clean up
signal(SIGQUIT, _MYSQL_END_TYPE mysql_end); // Catch SIGQUIT
to clean up
to work around the issue.
How to repeat:
-
Suggested fix:
-
Description: On IRIX 5.3 signal() is defined as follows: C++: void (*signal (int sig, void (*func)(...)))(...); Thus client/mysql.cc fails when compiling with g++ 3.4.3 because mysql_end is of a different type. I changed the respective code into #ifdef IRIX5 #define _MYSQL_END_TYPE (void (*)(...)) #else #define _MYSQL_END_TYPE #endif signal(SIGINT, _MYSQL_END_TYPE mysql_end); // Catch SIGINT to clean up signal(SIGQUIT, _MYSQL_END_TYPE mysql_end); // Catch SIGQUIT to clean up to work around the issue. How to repeat: - Suggested fix: -