Bug #7395 IRIX 5.3 expects different type of argument to signal()
Submitted: 17 Dec 2004 23:46 Modified: 7 May 2005 10:28
Reporter: Georg Schwarz Email Updates:
Status: Won't fix Impact on me:
None 
Category:MySQL Server: Command-line Clients Severity:S3 (Non-critical)
Version:4.1.7 OS:Other (IRIX 5.3)
Assigned to: CPU Architecture:Any

[17 Dec 2004 23:46] Georg Schwarz
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:
-