bd117d62a6
Windows alarms are both armed and executed from the interrupt thread. rte_eal_alarm_set() dispatched alarm-arming code to that thread and waited for its completion via a spinlock. However, if called from alarm callback (i.e. from the interrupt thread), this caused a deadlock, because arming could not be run until its dispatcher exits, but it could only exit after it finished waiting for arming to complete. Call arming code directly when running in the interrupt thread. Fixes: f4cbdbc7fbd2 ("eal/windows: implement alarm API") Reported-by: Pallavi Kadam <pallavi.kadam@intel.com> Signed-off-by: Dmitry Kozlyuk <dmitry.kozliuk@gmail.com> Tested-by: Pallavi Kadam <pallavi.kadam@intel.com>