Advertisement
Guest User

Untitled

a guest
Aug 18th, 2019
78
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.96 KB | None | 0 0
  1. #include <p64_timer.h>
  2. #include <pthread.h>
  3. #include <stdio.h>
  4. #include <unistd.h>
  5. #include <stdlib.h>
  6. #include <time.h>
  7.  
  8. void callback(p64_timer_t tim, p64_tick_t tmo, void *arg)
  9. {
  10. printf("fire %ld\n",time(NULL));
  11. }
  12.  
  13. void *timer_thread(void *arg)
  14. {
  15. p64_tick_t tick = 1;
  16. for (;;) {
  17. p64_timer_tick_set(tick);
  18. // printf("%llu\n",p64_timer_tick_get());
  19. p64_timer_expire();
  20. sleep(1);
  21. tick++;
  22. }
  23. }
  24.  
  25.  
  26. void set_sec_timer(p64_timer_t tim, unsigned int sec)
  27. {
  28. p64_tick_t tick;
  29. tick = p64_timer_tick_get();
  30. p64_timer_set(tim, tick + sec);
  31. }
  32.  
  33. int main(){
  34.  
  35. pthread_t t;
  36. p64_timer_t timer1;
  37.  
  38. pthread_create(&t,NULL, timer_thread, NULL);
  39.  
  40. timer1 = p64_timer_alloc(callback, NULL);
  41. if (timer1 == P64_TIMER_NULL) {
  42. fprintf(stderr,"p64_timer_alloc failed\n");
  43. exit(1);
  44. }
  45.  
  46. printf("%ld\n",time(NULL));
  47. /* fire callback after 2 seconds */
  48. set_timer(timer1, 2);
  49.  
  50. pthread_join(t, NULL);
  51. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement