|
请大虾们帮助指点一下:
请看这个程序:
fd = open( "somefile.lck " , O_RDONLY ,0644 ) ;
if( fd >= 0 )
{
close( fd ) ;
printf( " the file is already locked ") ;
return 1 ;
}
else
{
// the lock file dose not exist ,we can lock it and access it
fd = open( "somefile.lck " ,O_WRONLY|O_CREAT ,0644 ) ;
if( fd <0 )
{
perror( " error creating lock file ") ;
return 1 ;
}
..................// write our pid to the file
close ( fd ) ;
}
请问:为什么在第一个open后判断 fd >=0 就说明文件就锁定了呢?
为什么第二个open后我们就知道所不存在,别弄个要创建一个锁呢?
谢谢! |
|