Browse Source

fix some bug

master
zhaohe 2 years ago
parent
commit
6d44e64dd5
  1. 1
      os/zos_schduler.cpp
  2. 4
      os/zos_schduler.hpp
  3. 2
      os/zos_thread.hpp

1
os/zos_schduler.cpp

@ -11,7 +11,6 @@ void ZOSSchduler::regPeriodJob(function<void(Context& context)> job, uint32_t pe
} }
void ZOSSchduler::loop() { void ZOSSchduler::loop() {
static uint32_t ticket = 0;
Context context; Context context;
if (zos_haspassedms(ticket) < 1) { if (zos_haspassedms(ticket) < 1) {
return; return;

4
os/zos_schduler.hpp

@ -48,6 +48,7 @@ class ZOSSchduler {
*******************************************************************************/ *******************************************************************************/
list<PeriodJob*> m_periodJobs; list<PeriodJob*> m_periodJobs;
ZOSThread m_thread; ZOSThread m_thread;
uint32_t ticket = 0;
public: public:
ZOSSchduler() {} ZOSSchduler() {}
@ -57,9 +58,8 @@ class ZOSSchduler {
void regPeriodJob(function<void(Context& context)> job, uint32_t period_ms); void regPeriodJob(function<void(Context& context)> job, uint32_t period_ms);
void startSchedule(const char* threadname, int stack_size, osPriority priority); void startSchedule(const char* threadname, int stack_size, osPriority priority);
private:
private:
void loop(); void loop();
}; };
// #define ZHAL_CORE_REG(period_ms, job) ZOSSchduler::getInstance()->regPeriodJob([this](ZOSSchduler::Context& context) { job }, period_ms); // #define ZHAL_CORE_REG(period_ms, job) ZOSSchduler::getInstance()->regPeriodJob([this](ZOSSchduler::Context& context) { job }, period_ms);

2
os/zos_thread.hpp

@ -10,7 +10,7 @@ class ZOSThread {
const char* _threadname; const char* _threadname;
public: public:
void init(const char* threadname, int stack_size = 512, osPriority priority = osPriorityNormal);
void init(const char* threadname, int stack_size = 1024,osPriority priority = osPriorityNormal);
void run(function<void()> func); void run(function<void()> func);
public: public:

Loading…
Cancel
Save