Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/unix/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Unix mmaped文件写回期间发生I/O错误_Unix_Posix_Mmap_Error Reporting - Fatal编程技术网

Unix mmaped文件写回期间发生I/O错误

Unix mmaped文件写回期间发生I/O错误,unix,posix,mmap,error-reporting,Unix,Posix,Mmap,Error Reporting,在mmap写回期间,是否有任何标准(POSIX等)操作系统行为用于处理错误? 这是否被记录为稳定的实现 案例1: 一些程序执行mmap(),写入该内存区域,并执行munmap()或msync(MS\u SYNC)。在本例中,有明确的位置可以报告写回错误,但我不知道是否应该按照任何标准在munmap()/msync()报告写回错误 案例2: 一些程序执行mmap(),写入该内存区域,并执行sleep(1000)。写回应该由操作系统异步完成,但现在没有明确的位置报告写回的任何错误。但是,操作系统可以

在mmap写回期间,是否有任何标准(POSIX等)操作系统行为用于处理错误? 这是否被记录为稳定的实现

案例1: 一些程序执行
mmap()
,写入该内存区域,并执行
munmap()
msync(MS\u SYNC)
。在本例中,有明确的位置可以报告写回错误,但我不知道是否应该按照任何标准在
munmap()
/
msync()
报告写回错误

案例2: 一些程序执行
mmap()
,写入该内存区域,并执行
sleep(1000)
。写回应该由操作系统异步完成,但现在没有明确的位置报告写回的任何错误。但是,操作系统可以向程序发送SIGBUS。再说一遍,我不知道这是否标准化了

案例3: 两个程序(A和B)对同一个文件执行
mmap(MAP\u共享)
。程序A将某些内容写入该内存,程序B应立即看到这些更改,并可能依赖这些更改。一段时间后,操作系统在尝试写回时出错。现在,我认为唯一合理的行为是杀死这两个进程,因为它们依赖于无法进行的更改。但这看起来很奇怪