/* real_connect(host=nil, user=nil, passwd=nil, db=nil, port=nil, sock=nil, flag=nil) */ static VALUE real_connect2(int argc, VALUE* argv, VALUE obj) { VALUE host, user, passwd, db, port, sock, flag; char *h, *u, *p, *d, *s; unsigned int pp, f; MYSQL* m = GetHandler(obj); rb_scan_args(argc, argv, "07", &host, &user, &passwd, &db, &port, &sock, &flag); d = NILorSTRING(db); f = NILorINT(flag); h = NILorSTRING(host); u = NILorSTRING(user); p = NILorSTRING(passwd); pp = NILorINT(port); s = NILorSTRING(sock); #ifdef HAVE_RB_THREAD_START_TIMER rb_thread_stop_timer(); #endif if (mysql_real_connect(m, h, u, p, d, pp, s, f) == NULL) { #ifdef HAVE_RB_THREAD_START_TIMER rb_thread_start_timer(); #endif mysql_raise(m); } #ifdef HAVE_RB_THREAD_START_TIMER rb_thread_start_timer(); #endif m->reconnect = 0; GetMysqlStruct(obj)->connection = Qtrue; return obj; }