Issue about software timer

Suppose timer_handle point to an one-short software timer, then do xTimerChangePeriod(timer_handle,X,delay) ; after this call, software timer pointed by timer_handle be change to PERIOD timer. but I didn’t want it to be changed. thanks for confirm this. :cry:
it is test by this :
timer_handle point to an one short timer init period 10000ms,
then call xTimerChangePeriod(timer_handle,10000,DELAY);
then check at a while,
while(xTimerIsTimerActive(timer_handle) != pdFALSE){
do something.
And it is stuck in the while loop forever. But I plan it to get over while loop after 10000ms.

What about xTimerReset ? Seems to be more suitable to me.

sorry, I test for more detail, found the reson of stuck in while loop, is not related to software timer API.