2026/03/22

From Woozle Writes Code
< 2026‎ | 03
Jump to navigation Jump to search
Sunday, March 22, 2026 (#81)
Saturday Sunday Monday posts:prev <this> next

References

  • 09:53 The solution I've come up with at this point is to store the Runner-object-pointer alongside the OClient() and OServer() object-pointers, in QORunner() ("QO" instead of just "O" because it won't necessarily be set), in the Engine object.
  • 10:17 ...and now we're back to the point of "execution gets stuck somewhere" (probably waiting for input when it shouldn't be, or something).
  • 11:02 For one thing, NewSchemaList() was opening its own Runner connection, which it shouldn't do, but I'm not sure this actually made any difference. Fixed that, but still getting hung. Onward...
  • 11:06 The sticking-point is somewhere in DoInOutLoop() (who could have foreseen)
  • 11:15 Yep, it's stuck waiting for an input Stream which supposedly has not reached feof()...
    • ...so presumably we can't trust feof() here, but we also have to trust it elsewhere...
    • ...so presumably we need two different classes, one for each of those two different contexts...
    • ...but trying to figure out for sure what any given Stream is, is nontrivial (could probably do it from existing info if I had more braincells, BUT)
    • ...so I think I have to make each Stream-object require a name-string, even if it's only ever used for debugging. Meh.
  • 21:48 Is it possible that I'm opening the process and then calling DoInOutLoop() before sending any SQL for it to execute?
    • This does not appear to be the case.