- /*
- * No point trying to connect to the server more than
- * once. Also we don't know how thread safe libownet is. One
- * lock to protect it all.
- */
- mutex_lock(&server_lock);
- /*
- * Keep one server connection alive at all times. This
- * prevents file descriptor leak with older libownet.
- */
- if (!server_addr || handle < 0) {
- if (server_addr)
- free(server_addr);
- server_addr = strdup(parser_data[0]);
- handle = OWNET_init(server_addr);
- } else if (strcmp(server_addr, parser_data[0])) {
- OWNET_close(handle);
- free(server_addr);
- server_addr = strdup(parser_data[0]);
- handle = OWNET_init(server_addr);
- }
-
- if (handle < 0) {