_thread stacks size bug



  • In the documentation, it says that the command _thread.stack_size() with no argument returns the thread stack size used when creating new threads. I find that using this command resets the stack size to the default 0.

    import _thread
    import utime
    
    def printStack():
        tick = 0
        while  True:
            utime.sleep(1)
            print('stack size = {}'.format(_thread.stack_size()))
    
    _thread.stack_size(12288)
    _thread.start_new_thread(printStack, ())
    
    

    printout:

    stack size = 32768
    stack size = 0
    stack size = 0
    stack size = 0
    ....

    So it appears the documentation is incorrect, and the command actually resets the stack size to 0.

    Bonus question: is there a recommended limit to how large a thread stack size should be? is there any downside in having It large?

    Thanks,
    Troy


Log in to reply
 

Pycom on Twitter