src/lib/framework/src/driverFramework.cpp学习
- int Framework::initialize()
- {
- DF_LOG_DEBUG("Framework::initialize");
- g_framework = new SyncObj; //这个应该是各同步类
- if (!g_framework) {
- DF_LOG_ERR("ERROR: falled to allocate g_framework");
- return -1;
- }
- g_run_status = new RunStatus; //这个是状态标识
- if (!g_run_status) {
- DF_LOG_ERR("g_run_status allocation failed");
- return -2;
- }
- struct timespec ts = {};
- int ret = absoluteTime(ts); //获取绝对时间
- if (ret != 0) {
- DF_LOG_ERR("ERROR: absoluteTime returned (%d)", ret);
- return -4;
- }
- ret = HRTWorkQueue::instance().initialize(); //初始化worker的线程
- if (ret < 0) {
- return ret - 10;
- }
- DF_LOG_DEBUG("Calling DevMgr::initialize");
- ret = DevMgr::initialize(); //加了一个标志位true
- if (ret < 0) {
- return ret - 20;
- }
- DF_LOG_DEBUG("Calling WorkMgr::initialize");
- ret = WorkMgr::initialize(); //这里也加了一个标志位true
- if (ret < 0) {
- return ret - 30;
- }
- return 0;
- }
- class SyncObj
- {
- public:
- SyncObj(); //构造函数
- ~SyncObj() = default;
- void lock(); //对Mutex上锁
- void unlock(); //解锁
- // Returns 0 on success, ETIMEDOUT on timeout //返回0成功, ETIMEDOUT是超时
- // Use timeout_us = 0 for blocking wait //使用timeout_us =0作为阻塞等待
- int waitOnSignal(unsigned long timeout_us);
- void signal();
- private:
- pthread_mutex_t m_lock{}; //这个大括号是C++11,统一初始化
- pthread_cond_t m_new_data_cond{};
- };
src/lib/framework/src/driverFramework.cpp学习的更多相关文章
- laravel5.5 使用alipay SDK报错Cannot redeclare Encrypt() (previously declared in ../vendor/laravel/framework/src/Illuminate/Foundation/helpers.php:448)
错误现象: 在laravel5.5 中,使用alipaySDK 报错: Cannot redeclare Encrypt() (previously declared in ../vendor/lar ...
- Spring Framework 官方文档学习(四)之Validation、Data Binding、Type Conversion(一)
题外话:本篇是对之前那篇的重排版.并拆分成两篇,免得没了看的兴趣. 前言 在Spring Framework官方文档中,这三者是放到一起讲的,但没有解释为什么放到一起.大概是默认了读者都是有相关经验的 ...
- Spring Framework 官方文档学习(四)之Validation、Data Binding、Type Conversion(二)
接前一篇 Spring Framework 官方文档学习(四)之Validation.Data Binding.Type Conversion(一) 本篇主要内容:Spring Type Conver ...
- Spring Framework 官方文档学习(四)之Validation、Data Binding、Type Conversion
本篇太乱,请移步: Spring Framework 官方文档学习(四)之Validation.Data Binding.Type Conversion(一) 写了删删了写,反复几次,对自己的描述很不 ...
- <CPP学习>第一天 第一个CPP程序 hello word
由于我是计算机类嵌入式专业的大一学生,之前一直使用的是生万物的C语言,了解了其过程性语言的特性及其基础语法,在大一下学期期末阶段想自学一下C++,其实在开学初就买了一本C++ Primer,但由于各种 ...
- Entity Framework 6源码学习--设置调试EF环境
下载源代码 打开https://github.com/aspnet/EntityFramework6下载源代码. 建立调试解决方案 建立一个EntityFramework.Sample.sln在Ent ...
- 关于为什么window.frames[0].src不能获取src
在DOM文档对象模型中,window对象处于最高层,而框架除了是当前窗体的一个节点外,本身也是独立window对象,当frames作为window对象时,有name属性, 而没有src属性,只有作为节 ...
- 如何在项目中引入 #include .h、.lib、 .dll、.cpp (转)
源:http://blog.csdn.net/vippolka/article/details/8552735 在项目中引入.h..lib和dll.以及.cpp 1..h的引入 解决办法1:把 XX ...
- java 正则表达式获得html字符串中<img src>中的src中的url地址
public static Set<String> getImgStr(String htmlStr) { Set<String> pics = new HashSet< ...
随机推荐
- Appium环境搭建(Appium库的安装)
Appium环境搭建 谷歌驱动和对照:注意:64位向下兼容,直接下载32位的就可以啦,亲测可用. https://blog.csdn.net/allthewayforward/article/deta ...
- windows下用VMware虚拟机下安装Linux CentOS6.9图文教程
首先,请在Windows7下安装VMware虚拟机,这个比较简单,直接从官网下载安装即可,这里不再叙述. 接着,从官网直接下载CentOS6.9的iso镜像文件,地址:https://www.cent ...
- 【Linux】运维常用命令
1.查看进程 ps -ef 如果需要查看特定的进程,比如redis的 ps -ef | grep redis 2.强制杀死进程 kill -9 进程id 3.忽略输出后台启动 nohup ./red ...
- Linux 虚拟机通过NAT模式访问外网
1.配置本地VM8地址 2.配置虚拟机NAT网卡:设置VM8网卡地址和Linux主机相同网段地址,网关随便设置 3.编译网卡文件 vim /etc/sysconfig/network-scri ...
- spring boot 修改banner
在resources目录下新建一个banner.txt,里面添加要显示的内容,如: ////////////////////////////////////////////////////////// ...
- Html5 学习笔记 --》html基础 css 基础
HTML5 功能 HTML5特点 <!DOCTYPE html> <html lang="zh-cn"> <head> <meta cha ...
- QC OTA
Note: First make sure QTP connect to QC.(转自:http://blog.csdn.net/franktan2010/article/details/724331 ...
- maven(一),maven3.5.3的windows安装及Eclipse集成
maven用了好长时间,需要系统的学习一下.maven ,是一个项目构建的工具,是一个项目管理和综合工具,具有项目生命周期管理功能. maven现在到了3.5.3,就以这个版本进行. 一.下载mave ...
- box-shadow 制作单边阴影效果,不影响其它边的效果
box-shadow 制作单边阴影效果,不影响其它边的效果: https://blog.csdn.net/u010289111/article/details/53171128 CSS 样式实现单边 ...
- mysql自带压测工具--mysqlslap
mysqlslap 压测 mysql 5.7.20 目前版本,打印不出内存.cpu使用信息 mysqlslap -h192.168.9.60 -P4406 -uroot -p --create-sc ...