Commit 512086b
committed
fix: prevent MQTT disconnect loop by reusing Paho client on reconnect
mqttStart() called MQTTAsync_create()/MQTTClient_create() on every
invocation, including reconnects from mqttEvery5Seconds(). This leaked
the old Paho client handle without destroying it. The old client's
internal threads would eventually reconnect using the same MQTT
clientID, causing the broker to disconnect the new client ("session
taken over"), creating a permanent connect/disconnect loop.
Fix: create the Paho client once (guarded by mqttClientCreated flag)
and reuse it on reconnect, matching the ESP32 implementation pattern.
Properly destroy the client in mqttStop().
Affects: hasp_mqtt_paho_async.cpp (Linux, macOS, Windows async builds)
hasp_mqtt_paho_single.cpp (Windows synchronous builds)
Does not affect: ESP32/ESP8266/STM32 (different MQTT implementations)
Fixes #1005
Made-with: Cursor1 parent c387627 commit 512086b
2 files changed
Lines changed: 38 additions & 22 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
83 | 83 | | |
84 | 84 | | |
85 | 85 | | |
| 86 | + | |
86 | 87 | | |
87 | 88 | | |
88 | 89 | | |
| |||
361 | 362 | | |
362 | 363 | | |
363 | 364 | | |
364 | | - | |
365 | | - | |
366 | | - | |
367 | | - | |
368 | | - | |
369 | | - | |
| 365 | + | |
| 366 | + | |
| 367 | + | |
| 368 | + | |
| 369 | + | |
| 370 | + | |
| 371 | + | |
370 | 372 | | |
371 | | - | |
372 | | - | |
373 | | - | |
374 | | - | |
375 | | - | |
| 373 | + | |
| 374 | + | |
| 375 | + | |
| 376 | + | |
| 377 | + | |
| 378 | + | |
| 379 | + | |
376 | 380 | | |
377 | 381 | | |
378 | 382 | | |
| |||
410 | 414 | | |
411 | 415 | | |
412 | 416 | | |
| 417 | + | |
| 418 | + | |
413 | 419 | | |
414 | 420 | | |
415 | 421 | | |
| |||
418 | 424 | | |
419 | 425 | | |
420 | 426 | | |
| 427 | + | |
| 428 | + | |
421 | 429 | | |
422 | 430 | | |
423 | 431 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
80 | 80 | | |
81 | 81 | | |
82 | 82 | | |
| 83 | + | |
83 | 84 | | |
84 | 85 | | |
85 | 86 | | |
| |||
300 | 301 | | |
301 | 302 | | |
302 | 303 | | |
303 | | - | |
304 | | - | |
305 | | - | |
306 | | - | |
307 | | - | |
308 | | - | |
| 304 | + | |
| 305 | + | |
| 306 | + | |
| 307 | + | |
| 308 | + | |
| 309 | + | |
| 310 | + | |
309 | 311 | | |
310 | | - | |
311 | | - | |
312 | | - | |
313 | | - | |
314 | | - | |
| 312 | + | |
| 313 | + | |
| 314 | + | |
| 315 | + | |
| 316 | + | |
| 317 | + | |
| 318 | + | |
315 | 319 | | |
316 | 320 | | |
317 | 321 | | |
| |||
350 | 354 | | |
351 | 355 | | |
352 | 356 | | |
| 357 | + | |
| 358 | + | |
353 | 359 | | |
354 | 360 | | |
355 | 361 | | |
| |||
358 | 364 | | |
359 | 365 | | |
360 | 366 | | |
| 367 | + | |
| 368 | + | |
361 | 369 | | |
362 | 370 | | |
363 | 371 | | |
| |||
0 commit comments