全网首发:解决办法:shmget()一直失败,errno=-22

简介: 全网首发:解决办法:shmget()一直失败,errno=-22

一般代码如下:


 

key = 1234;
        m_nShmId        =  shmget(key, 1024, 0666|IPC_CREAT);
        if (m_nShmId == -1)
        {
            GH_LOG_ERROR("shmget() FAILED!");
            return false;
        }

 有人奇怪了,这语句是多么的正确,为什么一直错误呢?原因就是,这个key已经存在,而且大小跟指定不一致.


 怎么办?最简单办法,直接重启机器即可.从程序来讲,还是先删除,再产生:


   

key = 1234;
        //注意是大小0
        m_nShmId = shmget(key, 0, 0);
        if (m_nShmId != -1)
        {
            shmctl(m_nShmId, IPC_RMID, 0);
        }
        m_nShmId =  shmget(key, 1024, 0666|IPC_CREAT);
        if (m_nShmId == -1)
        {
            GH_LOG_ERROR("shmget FAILED!");
            return false;
        }

目录
相关文章
|
弹性计算 搜索推荐 网络安全
使用阿里云ECS搭建Perforce服务器用于Unreal(虚幻,Ue4)项目版本管理
游戏项目通常有很多二进制文件,如游戏贴图和各类游戏资产。使用面向文本文件的版本管理工具如git时,会导致诸多问题:1. 分支和版本的增加使项目迅速膨胀。2. 受到代码仓库的文件大小限制而无法上传文件。虚幻官方推荐面向文件的Perforce或SVN作为版本同步工具,本文介绍如何使用阿里云ECS搭建Perforce版本管理服务器的流程。
使用阿里云ECS搭建Perforce服务器用于Unreal(虚幻,Ue4)项目版本管理
|
SQL 分布式计算 资源调度
使用flink SQL Client将mysql数据写入到hudi并同步到hive
本文介绍如何使用flink SQL Client将mysql数据写入到hudi并同步到hive
使用flink SQL Client将mysql数据写入到hudi并同步到hive
|
存储 安全 NoSQL
pthread_getspecific和pthread_setspecific详解
pthread_getspecific和pthread_setspecific详解
|
Ubuntu Linux
Fedora 36 ARM 镜像源更换与软件安装
Fedora 36是Linux发行版,由社区开发,红帽赞助。安装软件通常用DNF(RPM包)。若需安装.deb包,先用alien转换。遇到问题时,可删除`/etc/yum.repo.d`目录内容,改用阿里云镜像源,如: 简而言之,Fedora 36的软件安装涉及DNF或alien,镜像源更换解决安装问题,阿里云镜像提供速度优化。
852 9
ly~
|
开发框架 小程序 前端开发
抖音小程序的开发难度大吗?
抖音小程序的开发难度因人而异,主要取决于开发者经验、技能及功能需求。技术上需掌握前端技术及抖音开发框架,了解平台生态与规则;设计上需符合用户审美和习惯,具备创新性和实用性。此外,严格的审核标准和激烈的市场竞争增加了开发难度,开发者需制定有效推广策略并持续优化小程序以保持竞争力。
ly~
492 4
|
机器学习/深度学习 搜索推荐 TensorFlow
使用Python实现深度学习模型:智能零售与智能购物
【8月更文挑战第3天】 使用Python实现深度学习模型:智能零售与智能购物
408 2
|
缓存 运维 NoSQL
使用 psutil 获取硬件、网络以及进程信息
使用 psutil 获取硬件、网络以及进程信息
270 0
no version information available的解决办法
no version information available的解决办法
1182 0
|
机器学习/深度学习 人工智能 自然语言处理
【大模型】如何利用 LLM 来创建更像人类的对话?
【5月更文挑战第7天】【大模型】如何利用 LLM 来创建更像人类的对话?
|
存储
BackTrader 中文文档(十四)(4)
BackTrader 中文文档(十四)
218 0
BackTrader 中文文档(十四)(4)