Skip to content
  • Damien George's avatar
    py/vm: Don't release the GIL if the scheduler is locked. · 1a5c8d10
    Damien George authored
    The scheduler being locked general means we are running a scheduled
    function, and switching to another thread violates that, so don't switch in
    such a case (even though we technically could).
    
    And if we are running a scheduled function then we want to finish it ASAP,
    so we shouldn't switch to another thread.
    
    Furthermore, ports with threading enabled will lock the scheduler during a
    hard IRQ, and this patch to the VM will make sure that threads are not
    switched during a hard IRQ (which would crash the VM).
    1a5c8d10