/********************* Bug Test Program # gcc -g -Wall -o test test_mysql.c -lpthread -I/usr/local/mysql/include/mysql -L/usr/local/mysql/lib/mysql -lmysqlclient *********************/ #include #include #include #include #include "mysql.h" char *MySql_Host = "localhost"; char *MySql_User = "root"; char *MySql_Passwd = "UserPassword"; char *MySql_DB = "UserDBName"; int MySql_Port = 0; void processor1(); void processor2(); int main() { //Threads pthread_t th1, th2; pthread_attr_t attr1, attr2; int th_stat; /* Threads init */ pthread_attr_init(&attr1); pthread_attr_init(&attr2); /* [Thread_1] */ if(pthread_create (&th1, &attr1, (void *)processor1, NULL) < 0) { printf("[ERROR] Can't create Thread(%lu) of processor()\n", th1); exit(-1001); } else { printf("[INFO_THR] Run {%-30s} thread1(%lu)\n", "Processor1", th1); } /* [Thread_2] */ if(pthread_create (&th2, &attr2, (void *)processor2, NULL) < 0) { printf("[ERROR] Can't create Thread(%lu) of processor()\n", th2); exit(-1002); } else { printf("[INFO_THR] Run {%-30s} thread2(%lu)\n", "Processor2", th2); } /* Join Threads */ if(pthread_join (th1, (void *)&th_stat) < 0) { printf("[ERROR] Can't join thread1(status=%d)!\n", th_stat); exit(-10101); } /* Join Threads */ if(pthread_join (th2, (void *)&th_stat) < 0) { printf("[ERROR] Can't join thread1(status=%d)!\n", th_stat); exit(-10102); } exit(0); } MYSQL DBcon, DBcon2; void processor1() { MYSQL *result_mysql; while(1) { if((result_mysql = mysql_init(&DBcon)) == NULL) { printf("[*WARNING*] Failed mysql_init() : ERROR(%d)= %s \n", mysql_errno(&DBcon), mysql_error(&DBcon)); exit(-3311); } if((result_mysql = mysql_real_connect(&DBcon, MySql_Host, MySql_User, MySql_Passwd, MySql_DB, MySql_Port, NULL, 0 )) == NULL) { printf("[*WARNING*] Not connect to mysql server : ERROR(%d)= %s \n", mysql_errno(&DBcon), mysql_error(&DBcon)); exit(-3312); } else { break; } } while(1) { printf("Processor1() Ok...\n"); sleep(1); } mysql_close(&DBcon); } void processor2() { MYSQL *result_mysql; while(1) { if((result_mysql = mysql_init(&DBcon2)) == NULL) { printf("[*WARNING*] Failed mysql_init() : ERROR(%d)= %s \n", mysql_errno(&DBcon2), mysql_error(&DBcon2)); exit(-3311); } if((result_mysql = mysql_real_connect(&DBcon2, MySql_Host, MySql_User, MySql_Passwd, MySql_DB, MySql_Port, NULL, 0 )) == NULL) { printf("[*WARNING*] Not connect to mysql server : ERROR(%d)= %s \n", mysql_errno(&DBcon2), mysql_error(&DBcon2)); exit(-3312); } else { break; } } while(1) { printf("Processor2() Ok...\n"); sleep(1); } mysql_close(&DBcon2); }