Nginx源码完全注释(8)ngx_errno.c

本文详细解读Nginx源码中的ngx_errno.c,介绍如何处理不同平台上的错误信息,特别是Cygwin和Solaris环境下的特定处理方式。通过自动化脚本预先确定错误提示数组大小,并避免使用非Async-Signal-Safe的strerror()函数。Igor的策略是将所有strerror消息复制到数组中,以保证信号处理的安全性。
摘要由CSDN通过智能技术生成

Nginx源码完全注释(8)ngx_errno.c

  • 作者:柳大·Poechant(钟超)
  • 邮箱:zhongchao.ustc#gmail.com(# -> @)
  • 博客:Blog.CSDN.net/Poechant
  • 日期:2012/09/29

errno.h中的strerror(int errno)可以确定指定的errno的错误的提示信息。在 Nginx 中,将所有错误提示信息预先存储在一个数组里,而预先确定这个数组的大小,是在自动化脚本中完成的,如下是auto/unix脚本:(其中自动化脚本auto/feature的作用参考《解剖 Nginx·自动脚本篇(4)工具型脚本系列》一文)


// auto/unix

ngx_feature="sys_nerr"
ngx_feature_name="NGX_SYS_NERR"
ngx_feature_run=value
ngx_feature_incs='#include 
   
   
    
    
                  #include 
    
    
     
     '
    
    
   
   
  
  
   
   
ngx_feature_path=
ngx_feature_libs=
ngx_feature_test=
   
   'printf("%d", sys_nerr);'
. auto/feature

  
  

但是对于某些平台是没有

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

钟超

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值