User callback gets const timer& arg instead of ptr
This commit is contained in:
		| @@ -9,12 +9,12 @@ std::mutex sc::timer::mutex; | ||||
|  | ||||
| void sc::timer::callback(union sigval sv) { | ||||
|     timer* self = reinterpret_cast<timer*>(sv.sival_ptr); | ||||
|     self->_expired_func(self); | ||||
|     self->_expired_func(*self); | ||||
| } | ||||
|  | ||||
| sc::timer::timer(double time, | ||||
|                  bool repeat, | ||||
|                  void(*expired_func)(timer*), | ||||
|                  void(*expired_func)(const timer&), | ||||
|                  void* context) | ||||
|     : _id {}, _time {time}, _repeat {repeat}, | ||||
|       _expired_func {expired_func}, _context {context} | ||||
|   | ||||
| @@ -14,7 +14,7 @@ namespace sc { | ||||
|         uint64_t _id {}; | ||||
|         double _time {}; | ||||
|         bool _repeat {}; | ||||
|         void (*_expired_func)(timer* self); | ||||
|         void (*_expired_func)(const timer& self); | ||||
|         void* _context {}; | ||||
|  | ||||
|         static void callback(union sigval); | ||||
| @@ -22,7 +22,7 @@ namespace sc { | ||||
|         public: | ||||
|             timer(double time, | ||||
|                   bool repeat, | ||||
|                   void(*expired_func)(timer*), | ||||
|                   void(*expired_func)(const timer&), | ||||
|                   void* context = nullptr); | ||||
|             ~timer(); | ||||
|  | ||||
|   | ||||
		Reference in New Issue
	
	Block a user