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
* It appears that the rf_pre_init is not called any more. Also cleaned up the code in
wifi_common.
* Log a message (at the right baud rate) if the hostname is invalid
* Updated the comment in the user_config.h file
* Don't adjust the clock until after we deal with rtctime...
* Switched to using START_OPTION_CPU_FREQ_MAX instead.
* Use setfield and add caching of the startup option
* Put the startupcounts warning into a warning box
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
* It appears that the rf_pre_init is not called any more. Also cleaned up the code in
wifi_common.
* Log a message (at the right baud rate) if the hostname is invalid
* Updated the comment in the user_config.h file
* Don't adjust the clock until after we deal with rtctime...
* Switched to using START_OPTION_CPU_FREQ_MAX instead.
* Use setfield and add caching of the startup option
* Put the startupcounts warning into a warning box