1. 25 Feb, 2024 1 commit
  2. 29 Dec, 2020 1 commit
  3. 07 Nov, 2020 2 commits
    • Nathaniel Wesley Filardo's avatar
      pipe: comment and style fixes (NFC) · 3a17258d
      Nathaniel Wesley Filardo authored
      Reflow comments to 80 columns; fix some typos and other nits.
      3a17258d
    • Nathaniel Wesley Filardo's avatar
      pipe: fix unread buffer chunk management · a97d8f11
      Nathaniel Wesley Filardo authored
      unread contained two subtle bugs:
      
       - it created a buffer chunk at pipe[1], when that position is reserved
         for the pipe reader function.  Because it shifted pipe[i] to
         pipe[i+1], including pipe[1], this was likely to manifest as the pipe
         later attempting to dequeue a function rather than a buffer chunk
         user datum.  Solve this by adjusting the loop bounds and creation
         index.
      
       - when it created a new buffer chunk, it left that chunk's ->start and
         ->end fields at 0, but would then exit the loop to do the tail fill,
         which was in turn assuming the exit condition of the loop when an
         existing chunk had room, namely that data had been moved to the right
         and so ->start > l.  Solve this by making new chunks empty but with
         ->start = ->end = LUAL_BUFFERSIZE.  It may be slightly better to
         instead try to leave room at both ends if the buffer was empty prior
         to this unread.
      
      FIXES: https://github.com/nodemcu/nodemcu-firmware/issues/3155
      a97d8f11
  4. 23 Oct, 2020 2 commits
    • Nathaniel Wesley Filardo's avatar
      pipe: comment and style fixes (NFC) · 045fc80c
      Nathaniel Wesley Filardo authored
      Reflow comments to 80 columns; fix some typos and other nits.
      045fc80c
    • Nathaniel Wesley Filardo's avatar
      pipe: fix unread buffer chunk management · 962991ed
      Nathaniel Wesley Filardo authored
      unread contained two subtle bugs:
      
       - it created a buffer chunk at pipe[1], when that position is reserved
         for the pipe reader function.  Because it shifted pipe[i] to
         pipe[i+1], including pipe[1], this was likely to manifest as the pipe
         later attempting to dequeue a function rather than a buffer chunk
         user datum.  Solve this by adjusting the loop bounds and creation
         index.
      
       - when it created a new buffer chunk, it left that chunk's ->start and
         ->end fields at 0, but would then exit the loop to do the tail fill,
         which was in turn assuming the exit condition of the loop when an
         existing chunk had room, namely that data had been moved to the right
         and so ->start > l.  Solve this by making new chunks empty but with
         ->start = ->end = LUAL_BUFFERSIZE.  It may be slightly better to
         instead try to leave room at both ends if the buffer was empty prior
         to this unread.
      
      FIXES: https://github.com/nodemcu/nodemcu-firmware/issues/3155
      962991ed
  5. 16 Jun, 2020 1 commit
  6. 09 Jun, 2020 2 commits
  7. 19 Jun, 2019 1 commit