Files
autobuild-tools/code/trunk
Zhang, Jialing 9b4ca60b17 以下内容由钟安修改:
修正common.c中对日志消息队列的操作,其中包括:
交换log_prepare与log_writing队列指针的bug;
以及在写入log_prepare队列时未检查已写入消息是否大于队列长度的
bug。修正了log_path(即日志文件名)不会随时间改变的bug。

修正在记录日志中检查目录时(在函数create_dir中),
由于采用线程进行日志记录,多次调用get_nic_info可
能会导致的将日志文件路径名变错的问题。在get_nic_info中
判断log_path是否被初始化过,如过未初始化,则到共享内存中读取。
否则,为初始化>过,直接使用该值,并在create_dir中使用局部变量保存该值
,在create_dir中使用操作该局部变量,而不去改变该全局变量的值。

修正在程序开始时对IPC变量删除的错误函数调用。
添加配置项crazyping,当其不为零时,会在每次取网卡信息时进行ping操作。

添加在程序开始前对IPC变量是否已存在在判断,如果已存在,则将其删除。
将宏TESTINTERVAL的定义去除,不然不会调用南瑞的库函数。

在README中添加v1.10的修改内容。

修改版本号及添加新发布版本的安装包。

修改版本号

修正一些拼写错误。

修改Makefile文件令其在编译test时依赖于test.c文件。

将对getpwdnam的调用仅在sys_nicmonitor程序中调用一次,并将其取得的
主目录路径名存储在共享内存。之后每次调用get_nic_info时,再获取该值
时,只需从共享内存中读出,而不再需要调用getpwdnam函数。

修改了IPC相关操作,包括:PV原语操作以及IPC变量获取操作。

去掉pkg编译后的信息

Signed-off-by: Zhang, Jialing <jlzhang@linx-info.com>
2016-08-30 17:37:16 +08:00
..
2013-06-03 03:18:14 +00:00
2013-06-03 03:18:14 +00:00
2013-08-14 05:33:44 +00:00

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
=========
编译前准备:
  编译前先安装dotconf软件包。
  libman.so拷贝到/usr/lib64/下
  pkgadd dotconf#1.0.13-1.pkg.tar.gz

编译说明:
  在Rocky 4.2上编译

  执行: sh build.sh
     将在当前的目录下生成安装包:
    sys_nicmonitor#1.9-x86_64-Linx-Rocky4.2.pkg.tar.gz

========
安装说明:
  1)安装以root的用户执行安装命令
    pkgadd sys_nicmonitor#1.9-x86_64-Linx-Rocky4.2.pkg.tar.gz
    如果之前已经安装,则可先卸载旧的然后再安装,或者通过更新方式安装
      卸载命令: pkgrm sys_nicmonitor
      更新方式安装命令:
      pkgadd u sys_nicmonitor#1.9-x86_64-Linx-Rocky4.2.pkg.tar.gz

  2查看安装是否成功
    pkginfo -i|grep sys_nicmonitor
    或者
    查看d5000用户的目录下lib/libnic_shm.so和bin/sys_nicmonitor的日期是否匹配

=======

版本说明:
--V1.9 --
  2013-08-12
  1修复问题占用内存快速累加导致内存占用很大
    问题描述:日志线程资源退出时未回收,导致占用内存快速累加
    解决办法:修改为一个日志线程,并且线程退出时设置为自动回收。
              将日志写文件的地方放到common.c中以便动态库和daemon程序使用一个。

  2修复问题日志文件名在家目录或者var目录下未在规定位置
    问题描述日志文件命名在一个单独的线程进行导致日志线程和该线程对log_path存在同时访问的情况。
    导致在换天或者换月时,日志文件名变更一半时,日志写线程此时写日志,用未更新完成的
    log_path创建日志导致日志文件不再规定的位置。
    解决办法增加线程互斥锁pthread_mutex对log_path进行保护修复该问题。


--V1.8.1--
  2013-06-05
  1)修改BUGping_gw函数当PING失败时没有尝试对余下的GW进行PING操作
  2)增加环境变量SYS_NIC_DEBUG用于调试流量抖动问题。

--V1.8 --
  20130527
对系统高磁盘IO情况下应用如果进行IO将可能会被阻塞。本版本为此作出调整。
cs-fes1上编译测试OK。

1 去掉shm和sem的实体文件
#define SHM_PATH  "$D5000_HOME/share/sys_netcard_shm_path"
#define SEM_PATH  "$D5000_HOME/share/sys_netcard_sem_path"

用key=0x1d5200 代替 sem
用key=0x1d5010 代替 shm


2去掉动态库中get_nic_info接口中判断路径的opendir调用采用实际路径
  上层应用每秒可能调用3次这个接口每判断一个网卡都调用一次判断都个网卡的状态时就调用多次。
  
  可改进一次调用get_nic_info接口可输入多个网卡一次返回所有网卡状态信息。

3) record_log函数为日志函数每次写一次都重新打开一次文件。
  修改为线程模式当记录日志时不会被磁盘IO阻塞。

4) 安装目录为d5000用户的HOME目录下的lib和bin目录

----


V1.6与V1.7差异
共享内存路径修改:
由/home/d5000/someone/tmp/sys_netcard_shm_path 改为 /home/d5000/someone/share/sys_netcard_shm_path
信号量路径修改:
由/home/d5000/someone/tmp/sys_netcard_sem_path 改为 /home/d5000/someone/share/sys_netcard_sem_path

注意在编译过程中需要动态看libman.so它存放在目录 tags/下面 ,在进行编译的时候需要将其拷贝到
/lib64/目录下,编译的基础环境是 Rocky 4.2 系统。

pkgmk命令的使用
将源代码打包成name-version.tar.gz样式编写Pkgfile文件。
使用命令:
	pkgmk -um #更新软件包的md5值
	pkgmk -kw #制作pkg安装包