当前位置: 首页 > news >正文

怎么开发一个网络协议模块(C语言框架)之(四) 信号量初始化

// 原始代码
/* gVrrpInstance.sem = OsixCreateBSem(OSIX_SEM_Q_PRIORITY, OSIX_SEM_FULL); */
gVrrpInstance.sem = OsixCreateMSem(OSIX_SEM_Q_FIFO | OSIX_SEM_DELETE_SAFE);
if (gVrrpInstance.sem == NULL)
{printf("[VRRP]:vrrp init error, failed to create vrrp global sem.\r\n");goto ERROR_RETURN;
}

🚦 一、信号量作用

信号量用于:

  • 控制多线程/中断对共享资源的访问

  • VRRP 模块可能有多个线程:

    • 定时器线程

    • socket 接收线程

    • CLI 或配置下发线程

  • 全局变量(如 gVrrpInstance.operUsedTblavl树)是共享资源,需加锁防止竞态条件。


二、OsixCreateMSem 是什么?

这是平台层 OS 适配接口的

相关文章:

  • STM32上配置图像处理库时常见错误总结
  • 人脸美颜磨皮祛痘1:数据集说明(含下载链接)
  • ShenNiusModularity项目源码学习(30:ShenNius.Admin.Mvc项目分析-15)
  • Linux系统之pwd命令的基本使用
  • juc面试题
  • Development靶机通关笔记
  • 【TKDE25】Large-Scale Clustering With Anchor-BasedConstrained Laplacian Rank
  • 数据的获取与读取篇---常见的数据格式JSON
  • JVM(Java虚拟机)
  • 从0到上线:微服务架构下的全栈开发实战指南
  • STM32 定时器输出比较深度解析:从原理到电机控制应用 (详解)
  • PostGIS实现栅格数据转二进制应用实践【ST_AsBinary】
  • Nat Rev Genet | 如果DNA序列能“说话”?深度学习S2E(序列2表达)模型正在听懂基因组的调控秘密!
  • 数字图像处理:基于 hough 变换的图像边缘提取
  • iOS知识复习
  • vue3+ts 安装tailwindcss样式库
  • uniapp判断ios或Android定位是否开启并跳转到系统设置
  • 白皮精读:2024年国家数据基础设施建设指引【附全文阅读】
  • BSDIFF算法详解
  • winsever2016Web服务器平台安装与配置
  • 小小水蜜桃视频高清在线观看/seo管理系统
  • 深圳保障性住房和公租房区别/推广网站seo
  • 襄阳做网站 优帮云/沈阳seo搜索引擎
  • 银川网站建设多少钱/嘉兴seo报价
  • 做流媒体视频播放网站求助/杭州市优化服务
  • 网站做子页面怎么做的/网站统计分析平台