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

上国外的网站很慢seo成都培训

上国外的网站很慢,seo成都培训,宁波网站设计价格,昌吉住房和城乡建设局网站背景 Linux内核模块中的函数如果返回值是指针,出现异常的时候如何返回多样的内核错误呢? 方法 通过Linux内核的ERR指针模式。然后返回后使用内核接口来判断是否有异常。 函数中: 函数定义的地方: struct mlx5_cache_ent * mlx5r_c…

背景

Linux内核模块中的函数如果返回值是指针,出现异常的时候如何返回多样的内核错误呢?

方法

通过Linux内核的ERR指针模式。然后返回后使用内核接口来判断是否有异常。

函数中:

函数定义的地方:
struct mlx5_cache_ent *
mlx5r_cache_create_ent_locked(struct mlx5_ib_dev *dev,struct mlx5r_cache_rb_key rb_key,bool persistent_entry)
{ent = kzalloc(sizeof(*ent), GFP_KERNEL);if (!ent)return ERR_PTR(-ENOMEM); //这里是ERR_to_PTR将errno转换为指针,注意有-符号。  ...
}判断返回值的地方:ent = mlx5r_cache_create_ent_locked(dev, rb_key, true);if (IS_ERR(ent)) { //这里用IS_ERR进行判断是否返回了err的指针ret = PTR_ERR(ent); //这里是PTR_to_ERR的意思,将ptr转化为errnogoto err;}

如果期望返回值是int类型的,直接返回errno,比如return -EPERM;

Linux内核中常见的错误检查模式

这两个接口可以简单理解中间有一个to,从xxx转化为xxx
ERR_PTR(-ENOMEM) 。
PTR_ERR(ent);
另外
IS_ERR() 只对ptr进行判断。
- 定义在include/linux/err.h中
- 用于检查指针是否实际上是一个错误码(负值)
- 如果指针值在内核保留的错误码范围内,则返回true

实战举例:

在Mellanox驱动中

pd = ib_alloc_pd(device);
if (IS_ERR(pd)) {err = PTR_ERR(pd);// 错误处理
}
	作用:- 验证保护域创建是否成功- 如果失败,获取具体错误码并进行相应处理- 这是内核驱动中标准的错误处理模式

代码模板


struct my_struct *
my_func(struct my_struct * dev)
{struct my_struct *ent = NULL;ent = kzalloc(sizeof(*ent), GFP_KERNEL);if (!ent)return ERR_PTR(-ENOMEM); //这里是ERR_to_PTR将errno转换为指针,注意有-符号。  ...
}判断返回值的地方:
int my_upper_func(dev)
{ent = my_func(dev);if (IS_ERR(ent)) {ret = PTR_ERR(ent);goto err;}
}

综述

Linux内核模块中,当函数返回指针但需要报错时,可使用ERR_PTR()将错误码转换为指针。调用方用IS_ERR()检查返回值,PTR_ERR()获取原始错误码。这种模式是内核标准错误处理方式,如内存分配失败返回ERR_PTR(-ENOMEM)。对于返回整型的函数,直接返回负的错误码如-EPERM即可。该机制通过include/linux/err.h提供的宏实现,确保了内核错误处理的统一性和可靠性。

http://www.dtcms.com/a/599798.html

相关文章:

  • 科技网站欣赏网页设计基础
  • 深圳罗湖区住房和建设局网站沈阳发布最新通告
  • 内网网站开发报价站长之家 wordpress
  • 如何管理网站域名wordpress静用字体
  • 网站设计平台 动易wordpress 主题选项
  • 网站内容的排版布局微网站与手机网站的区别
  • 最牛视频网站建设17网站一起做 佛山
  • 一般企业网站3年多少钱海南网上申请营业执照步骤
  • 全椒做网站湘潭学校网站建设 磐石网络专注
  • 发布新闻最快的网站大型 网站的建设 阶段
  • 用app怎么样建网站上海网站建设__永灿品牌建站
  • 网站建设经济可行性网络营销就是网上营销
  • 福田公司网站建设网站开发者模式下怎么保存图片
  • 婚纱照展示网站源码网站上传模板后
  • 如何修改网站主页深圳华强北做网站
  • 做的比较好的家具网站首页有道云笔记做网站
  • h5 小米网站模板wordpress响应式免费
  • 手机选择网站现在的报税网站怎么做更正申报
  • 网站动图怎么做的关于织金县网站建设的论文
  • 设计外贸网站广州seo网络优化公司
  • 青岛北京网站建设价格微信营销软件平台
  • 建设地方美食网站的目的腾冲住房和城乡建设局网站
  • 建设部网站社保联网百度制作企业网站多少钱
  • 如何做酒店网站设计优普道建筑网校
  • 网站优化排名易下拉教程一般做网站需要多少钱
  • 韶关做网站公司中介房产cms
  • 龙岗中心城有学网站建设成都科技公司排名
  • 网站icp备案哪里可以大量找到广告主
  • 在自己的电脑做网站空间网站建设流程范文
  • 如何申请建设个人网站东莞建站公司快荐全网天下特别好