Skip to content

发现页面管理模块的一个Bug,求帮忙确认一下 #2

Description

@hzyfox

虽然 页面管理模块已经是实现好的,但是我在看页面管理模块的时候,有一个地方不太理解,我怀疑是一个bug,想看看你的意见。
PF_Manager.cpp 中的 AllocateBlock函数中
if(bf_manager.frame[min].bDirty==true){ offset=(bf_manager.frame[min].page.pageNum)*sizeof(Page); if(_lseek(bf_manager.frame[min].fileDesc,offset,SEEK_SET)==offset-1) return PF_FILEERR; if(_write(bf_manager.frame[min].fileDesc,&(bf_manager.frame[min].page),sizeof(Page))!=sizeof(Page)) return PF_FILEERR; }

我不理解 为什么第一个if语句中 _lseek(bf_manager.frame[min].fileDesc,offset,SEEK_SET)==offset-1 才 return PF_FILEERR。 我觉的 应该是不等于 Offset 就应该 return PF_FILEERR
所以应该写成
if((_lseek(bf_manager.frame[min].fileDesc,offset,SEEK_SET)==offset)-1)
或者
if(_lseek(bf_manager.frame[min].fileDesc,offset,SEEK_SET)!=offset)

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions