summaryrefslogtreecommitdiffstats
path: root/src/os_time.h
diff options
context:
space:
mode:
authorimarom <imarom@cisco.com>2015-11-01 14:28:28 +0200
committerimarom <imarom@cisco.com>2015-11-01 14:28:28 +0200
commitee2c7f45e0bf973443b70eb8329811bcad44f83a (patch)
treec3f2cc1db1b090bedfd80979c931d50708053100 /src/os_time.h
parenta1971ec3a7f6cbe0aea1393a57aa17bf44deedac (diff)
stateless cores starts on IDLE - and starts the scheduler only when
traffic is being transmitted if the traffic stops completely on the core - back to IDLE state
Diffstat (limited to 'src/os_time.h')
-rwxr-xr-xsrc/os_time.h20
1 files changed, 20 insertions, 0 deletions
diff --git a/src/os_time.h b/src/os_time.h
index 153ee3e3..0e732abf 100755
--- a/src/os_time.h
+++ b/src/os_time.h
@@ -22,6 +22,7 @@ limitations under the License.
*/
#include <stdint.h>
+#include <time.h>
typedef uint64_t hr_time_t; // time in high res tick
typedef uint32_t hr_time_32_t; // time in high res tick
@@ -129,6 +130,25 @@ static inline dsec_t now_sec(void){
}
+static inline
+void delay(int msec){
+
+ if (msec == 0)
+ {//user that requested that probebly wanted the minimal delay
+ //but because of scaling problem he have got 0 so we will give the min delay
+ //printf("\n\n\nERROR-Task delay ticks == 0 found in task %s task id = %d\n\n\n\n",
+ // SANB_TaskName(SANB_TaskIdSelf()), SANB_TaskIdSelf());
+ msec =1;
+
+ }
+
+ struct timespec time1, remain; // 2 sec max delay
+ time1.tv_sec=msec/1000;
+ time1.tv_nsec=(msec - (time1.tv_sec*1000))*1000000;
+
+ nanosleep(&time1,&remain);
+}
+
#endif