[MySQL C API] mysql_query() verursacht endlosschleife bei deaktivierten Netzwerk



  • Hallo,

    Ich schreibe gerade an einem Programm,
    welches Messwerte in eine MySQL Datenbank schreiben soll.
    Das funktioniert soweit auch. Wenn ich aber das Netzwerk deaktiviere
    oder das Netzwerkkabel ziehe, bleibt das Programm immer in der Funktion mysql_query() hängen und läuft erst weiter, wenn das Netzwerk wieder aktiviert ist.
    Das selbe ist bei der Funktion mysql_ping() der fall.
    Das Programm läuft zurzeit unter Linux, soll später aber auch auf Windows 2000 und Windows XP laufen. Dort hab ich es allerdings noch nicht getestet.

    Hat jemand eine Vermutung, wo das Problem liegen könnte und wie ich es beheben kann?



  • Wie lange hast du denn bei deinen Versuchen gewartet bevor du das Programm abgeschossen hast?
    Sowas kann, je nachdem wie es implementiert ist, schonmal ein paar Minuten brauchen.



  • Schau dir mysql_options an. Da kannst du die Timeouts einstellen.



  • @hustbaer
    ich kann es nicht genau sagen, aber 10 minuten waren es mindestens.

    @Shade Of Mine
    ich hab es mal so versucht:

    unsigned int i = 10;
    mysql_options(this->MySql_Connector, MYSQL_OPT_CONNECT_TIMEOUT, &i);
    

    zwischen mysql_init() und mysql_real_connect() aufgerufen.
    Hat aber keinen Erfolg gebracht.

    Trotzdem danke erstmal.




Log in to reply