+ if (probe_timeout_sec_now<probe_timeout_sec_max) {
+ probe_timeout_sec_now*=PROBE_TIMEOUT_SEC_BASE;
+ g_assert(probe_timeout_sec_max==G_MAXUINT || probe_timeout_sec_max<PROBE_TIMEOUT_SEC_MAX);
+ probe_timeout_sec_now=MIN(probe_timeout_sec_now,probe_timeout_sec_max);
+ probe_timeout_sec_now=MIN(probe_timeout_sec_now,PROBE_TIMEOUT_SEC_MAX);
+ if (probe_send(probe,port_local)) {
+ client_touch(probe,probe_timeout_sec_now); /* timeout */
+ return FALSE; /* GSource should be removed */
+ }
+ /* failure FALLTHRU */
+ }