X-Git-Url: https://gerrit.o-ran-sc.org/r/gitweb?a=blobdiff_plain;ds=sidebyside;f=src%2Fphy_stub%2Fl1_bdy2.c;h=2edaa5b1a8180d6a29cb98b61e8e6a5f0cb56dcf;hb=528b3d3a09d7486a0c549820bac601db60fde18e;hp=8e79dbae5d9b188b1262f30608eda25761d0c66f;hpb=8d9ebf64c8a64bf1346685833fe79970c4ef3d14;p=o-du%2Fl2.git diff --git a/src/phy_stub/l1_bdy2.c b/src/phy_stub/l1_bdy2.c index 8e79dbae5..2edaa5b1a 100644 --- a/src/phy_stub/l1_bdy2.c +++ b/src/phy_stub/l1_bdy2.c @@ -18,35 +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"); + } } }