Skip to content
Snippets Groups Projects
  1. Jan 24, 2023
  2. Jan 23, 2023
  3. Jan 22, 2023
  4. Jan 21, 2023
    • Rob Swindell's avatar
      Refactor mqtt_client_on() · e3bb1aee
      Rob Swindell authored
      This function has been causing somewhat rare crashes (e.g. one per week on a very active system with MQTT enabled) on both Windows and Linux (see issue #495). The root-cause is still unclear (possible heap corruption?). This function needed more robustification anyway (see previous TODO comment), so I'm refactoring here to no longer use strListAppendFormat, which uses vasprintf (the function where the rare crash was occurring) and instead just use snprintf and strListPush. The total client_list that's published (as a single string/message) is now dynamically allocated (this was the point of the previous TODO comment). This may not actually fix the issue if there's a heap corruption occurring somewhere else in this function or the call-chain that's reaching here (usually from the web server).
      
      Another change to mqtt_client_on(): don't incremented the server's 'served' counter until client disconnects (this is a past-tense statistic).
      
      Also:
      - mqtt_pub_strval() can now accept a null 'str' argument which is effectively the same as mqtt_pub_noval(), so the pub_noval() function is now just a thin wrapper around pub_strval().
      
      - mqtt_startup() now clears the client_list topic and sets the client_count topic to 0.
      e3bb1aee
    • Rob Swindell's avatar
      Don't attempt to remove a non-existing qwk-pack semfile · 1bbb2225
      Rob Swindell authored
      Reduce occurrences of subsequent errors (unsure of root-cause):
      !ERROR 2 (No such file or directory) in main.cpp line 2778 (event_thread) removing "/sbbs/data/pack0341.now"
      
      This does seem to be the only location that deleted pack*.now files, so weird that they'd disappear sometime after calling glob(), but I do understand that its theoretically possible.
      1bbb2225
    • Rob Swindell's avatar
      strListJoin() will now fail gracefully (return NULL) if passed NULL buf · 0c3406ff
      Rob Swindell authored
      No immediate need/use.
      0c3406ff
    • Rob Swindell's avatar
      Merge branch 'ddfilelister_search_scan_header_update_optimization' into 'master' · 4e4f74cb
      Rob Swindell authored
      Screen header update optimization for file searching & scanning
      
      See merge request !243
      4e4f74cb
    • Eric Oulashin's avatar
      Screen header update optimization for file searching & scanning · 2166ef0d
      Eric Oulashin authored and Rob Swindell's avatar Rob Swindell committed
      2166ef0d
    • Rob Swindell's avatar
  5. Jan 20, 2023
  6. Jan 19, 2023
  7. Jan 17, 2023
Loading