Open xkf321 opened 5 months ago
clock_gettime(CLOCK_REALTIME, &ts); uint64_t ns = ts.tv_sec 1000 1000 1000 + ts.tv_nsec; ns += ms 1000 1000; ts.tv_sec = ns / (1000 1000 1000); ts.tv_nsec = ns % 1000 1000 * 1000; ret = sem_timedwait(lock, &ts);
uint64_t ns = ts.tv_sec 1000 1000 * 1000 + ts.tv_nsec; 运行平台为arm32,计算ns 时会使用uint32类型,导致运算出现溢出, ts.tv_sec前增加强制转换为 uint64_t 可以解决
clock_gettime(CLOCK_REALTIME, &ts); uint64_t ns = ts.tv_sec 1000 1000 1000 + ts.tv_nsec; ns += ms 1000 1000; ts.tv_sec = ns / (1000 1000 1000); ts.tv_nsec = ns % 1000 1000 * 1000; ret = sem_timedwait(lock, &ts);
uint64_t ns = ts.tv_sec 1000 1000 * 1000 + ts.tv_nsec; 运行平台为arm32,计算ns 时会使用uint32类型,导致运算出现溢出, ts.tv_sec前增加强制转换为 uint64_t 可以解决