Changeset 16394

Show
Ignore:
Timestamp:
05/16/08 14:57:20 (5 months ago)
Author:
piotras
Message:

Check if connection's mysql pointer exists

Files:

Legend:

Unmodified
Added
Removed
Modified
Copied
Moved
  • branches/branch-1-8/src/core/midgard/src/midgard.c

    r14848 r16394  
    436436const char* username, const char *pass) 
    437437{ 
    438 void (*handler) (int); 
    439  
    440 handler=signal(SIGPIPE, SIG_IGN); 
     438        void (*handler) (int); 
     439 
     440        handler=signal(SIGPIPE, SIG_IGN); 
     441 
     442        /* we can not do any assertion here! */ 
     443        if(!mgd->msql) 
     444                return 0; 
     445 
     446        if(!mgd->msql->mysql) 
     447                return 0; 
    441448 
    442449/* EEH: ensure that the link did not die, from PHPs mysql connector */ 
    443450#if defined(CR_SERVER_GONE_ERROR) 
    444 mysql_stat(mgd->msql->mysql); 
    445 if (mysql_errno(mgd->msql->mysql) == CR_SERVER_GONE_ERROR) { 
     451       mysql_stat(mgd->msql->mysql); 
     452       if (mysql_errno(mgd->msql->mysql) == CR_SERVER_GONE_ERROR) { 
    446453#else 
    447 if (!strcasecmp(mysql_stat(mgd->msql->mysql), "mysql server has gone away")) { 
     454       if (!strcasecmp(mysql_stat(mgd->msql->mysql), "mysql server has gone away")) { 
    448455#endif 
    449         mysql_close(mgd->msql->mysql); 
    450 sleep(1); 
    451 mgd_easy_connect(mgd, hostname, database, username, pass); 
    452 
    453  
    454 signal(SIGPIPE, handler); 
    455 return (mgd->msql->mysql != NULL); 
     456               mysql_close(mgd->msql->mysql); 
     457               sleep(1); 
     458               mgd_easy_connect(mgd, hostname, database, username, pass); 
     459       
     460 
     461       signal(SIGPIPE, handler); 
     462       return (mgd->msql->mysql != NULL); 
    456463} 
    457464