讨论下Linux下SCSI栈的IO错误处理策略原创 乌鸦嘴 乌鸦嘴的趟坑回忆录 今天(一)尽快报错 or 尽力重试?先讨论一个问题:如果上级交给的任务暂时无法完成,那么我们应该:(策略1)应该尽快向上报错(abort),等待上级做出下一步的指令。(策略2)暂不报告失败,而是带着未完成的任务,去修复和重试。用电影《大决战》中的情节来举例,锦州外围某部队丢了阵地后没有向上报告,而是尽力把阵地夺了回来。 (二)Linux的SCSI对错...
修改scripts/gcc-wrapper.py文件,将interpret_warning(line)一行注释掉
kernel\msm-4.9\scripts\gcc-wrapper.py
def run_gcc():args = sys.argv[1:]# Look for -otry:i = args.index('-o')global ofileofile = args[i+1]except (ValueError, IndexError):passcompiler = sys.argv[0]try:proc = subprocess.Popen(args, stderr=subprocess.PIPE)for line in proc.stderr:print line#print line,##interpret_warning(line) ###注释掉...
一、错误处理
1. 通过函数的返回值表示错误
1) 返回合法值表示成功,返回非法值(无效值)表示失败。
<0表示出错,>=0表示正确
例:获取文件长度函数:
long getSize(const char *filePath){if(filePath == NULL){return -1;}FILE *fp = fopen(filePath,"r");//通过函数返回值 来判断 函数调用是否成功if(fp == NULL){return -1;}fseek(fp,0,SEEK_END);//调整文件读写位置到文件末尾long off = ftell(fp);//距离文件开始位置多少个字...
我正在编写一个非常简单的shell来删除给定文件夹的文件,在这种情况下,所有.csv文件都存在于该文件夹中.
代码如下所示:#!/bin/bash
# Used to clean folderMinVal=0
Files=$(ls -1 *.csv | wc -l)if [ $Files -gt $MinVal ];thenrm *.csvecho -e "\e[31;43m***** DONE *****\e[0m" else echo -e "\e[31;43mThere is no valid file to delete, please check\e[0m" fishell脚本按预期工作,但是当您执行shell并且文件夹...
我只是在改进我的问题,因为到目前为止我已达到这个目的:set username [lindex $argv 0]
set password [lindex $argv 1]
set hostname [lindex $argv 2]if {[llength $argv] == 0} {send_user "Usage: scriptname username \'password\' hostname\n"exit 1
}send_user "\n#####\n# $hostname\n#####\n"spawn ssh -q -o StrictHostKeyChecking=no $username@$hostnameexpect {timeout { send_user "\nFailed to get password prompt...
我有两个这样的映射文件,如下所示:
primary_mapping.txt{1=[343, 0, 686, 1372, 882, 196], 2=[687, 1, 1373, 883, 197, 736, 1030, 1569], 3=[1374, 2, 884, 737, 198, 1570], 4=[1375, 1032, 1424, 3, 885, 1228], 5=[1033, 1425, 4, 200, 886]}secondary_mapping.txt{1=[1152, 816, 1488, 336, 1008], 2=[1153, 0, 817, 337, 1489, 1009, 1297], 3=[1, 1154, 1490, 338], 4=[1155, 2, 339, 1491, 819, 1299, 1635], 5=[820, 14...
本来之前写过一个JS导出程序,但是也是网上东拼西凑写出来了,这两天有需求要写个excel导出,然后就出现一堆的问题,就准备记录下来。
原谅我好多东西也是网上百度别人的,但是都汇总了一下,也好给大家看,开始正文:
js导出excel的两种方法:
方法一:
/*
*@tableId: table的Id
*@fileName: 生成excel文件
* ie浏览器无法导出
*/
function tableToExcel(tableID,fileName){
var table = document.getElementById(tableID);
var ...
函数在失败的时候,会设置errno变量的值来指明失败的原因。程序必须在报告错之后立刻检查errno变量,不然会被覆盖掉。
1.strerror函数把错误代码映射为一个字符串,该字符串对发生的错误类型进行说明。函数原型如下:#include <string.h>char *strerror(int errnum);
2.perror函数把errno变量中报告的当前错误映射到一个字符串,并把它初出道标准错误输出流中。函数原型如下#include <stdio.h>void perror(const char* s);
Linux...
my.c
#include <stdlib.h>
#include <errno.h>
#include <sys/socket.h>#include <sys/types.h>void perr_exit(const char *s)
{perror(s);exit(1);
}//***************************网络*********************************
int Accept(int fd, struct sockaddr* addr, socklen_t* addrlen)
{int n;again:if ( (n = accept(fd, addr, addrlen)) < 0){if ((errno == ECONNABORTED) || (errno == EINTR))goto again;elseperr_exit("a...