X-Git-Url: https://gerrit.o-ran-sc.org/r/gitweb?a=blobdiff_plain;f=src%2Fphy_stub%2Fl1_bdy2.c;h=2edaa5b1a8180d6a29cb98b61e8e6a5f0cb56dcf;hb=ba78fa13b01e0729fe0a6a7a18cbf1d52cdcda1c;hp=1db65f485a444ee56e60977b8571a563f09ced27;hpb=8340c342ebcfc82193c3f66e7f15047c1e37399b;p=o-du%2Fl2.git diff --git a/src/phy_stub/l1_bdy2.c b/src/phy_stub/l1_bdy2.c index 1db65f485..2edaa5b1a 100644 --- a/src/phy_stub/l1_bdy2.c +++ b/src/phy_stub/l1_bdy2.c @@ -18,36 +18,50 @@ /* This file handles slot indication */ -#include -#include -#include +#include "common_def.h" #include "lphy_stub.h" #include "du_log.h" uint16_t l1BuildAndSendSlotIndication(); +pthread_t thread = 0; void *GenerateTicks(void *arg) { - uint8_t counter = 100; - while(counter) + int milisec = 1; /* 1ms */ + struct timespec req = {0}; + + req.tv_sec = 0; + req.tv_nsec = milisec * 1000000L; + + while(1) { - sleep(1); + nanosleep(&req, (struct timespec *)NULL); + /* Send Slot indication indication to lower mac */ l1BuildAndSendSlotIndication(); - counter--; } return((void *)NULLP); } -void duStartSlotIndicaion() +void l1HdlSlotIndicaion(bool stopSlotInd) { - pthread_t thread; int ret; - ret = pthread_create(&thread, NULL, GenerateTicks, NULL); - if(ret) + if(!stopSlotInd) + { + ret = pthread_create(&thread, NULL, GenerateTicks, NULL); + if(ret) + { + DU_LOG("\nPHY_STUB: Unable to create thread"); + } + } + else { - DU_LOG("\nPHY_STUB: Unable to create thread"); + ret = pthread_cancel(thread); + if(ret) + { + DU_LOG("\nPHY_STUB: Unable to stop thread"); + } } }