tree 722dda1e0d32f101a6f186f0351aa4ccbe76d21b
parent e6d8308fde19860e4b86c2dfd7a404ff0304a237
author Gaurav-Aggarwal-AWS <33462878+aggarg@users.noreply.github.com> 1724946695 +0530
committer GitHub <noreply@github.com> 1724946695 -0700
gpgsig -----BEGIN PGP SIGNATURE-----
 
 wsFcBAABCAAQBQJm0JkHCRC1aQ7uu5UhlAAAf2gQAF91AjgN82MrLwiLJCUYIxHT
 1QwZtOvJBICPUM+pdBb/j0OHkmcNTKZxcJpnKmmqxdc16g+nL9Xp66sgdKICVtMt
 KNt0J8ngvi45yNjqIYEHypB/RcUOFwuQuJTpnAHJzwmiF96VzOPKBWZnOVl8w2S3
 Y4IJ1aPUcHOyU6Kore02KHnCW/fv0FxcCQzLq5LGAdOCW3fBN+ck4j8Sw4LI7wTT
 N7zCHaR4nPEuTzwhvPG8W6xl5w5DwRJiCENodY82EVVG7BU87v6SRDJuKzceFxxh
 fJnA0JoGp24vjeEMAIi+DqPVLT/cS0U3MGQOmjHOMEOTWbvPwTcnQPAIHyWv0QeL
 yiRjMswALYxrRN/Qnw023BLvaieox6mpKeAPilVl3Jul71Q7CQ0iWCDUtEEW7idE
 ptO5FuM9Gj3p9e53C31De9QfLKZsrCqiEcsXbDWRnC5cBnbplupjQS1BheuiYomD
 LY/zookt9yeiEhte5h8JdfjY3HnKH/qqUv9F5K3hVB+5wP1zlEkV5dMBPKQkAR1h
 ZDoSZfnkrTz82YaIvT6HC2Y5pxloPktYH6t51FLvVbGostUk48gvizQB3ydptgdK
 JjWlfCeXZmE5+Os95vAOPyA5BaDCMEWCafRfowG1ARrwUTsok0q3rLtzwOND5wNJ
 Fy/9q8P/c1b4y5/iIwJ7
 =PUX0
 -----END PGP SIGNATURE-----
 

Pend a yield in portPRE_TASK_DELETE_HOOK (#1132)

When a task deletes itself, it calls portPRE_TASK_DELETE_HOOK which
translates to vPortCloseRunningThread on the Windows port.
vPortCloseRunningThread never returns and as a result,
taskYIELD_WITHIN_API in vTaskDelete does not get called. As a result,
the next task is not scheduled when configUSE_PREEMPTION is set to 0.

This change records that a yield is pending so that the next tick
interrupt switches out the task that was deleted.

Signed-off-by: Gaurav Aggarwal <aggarg@amazon.com>