cutil-flock.c
来自「Linux环境下常用功能的实现」· C语言 代码 · 共 90 行
C
90 行
#include "cutil.h"/** * cutil_flock_set_read * @nFileDescriptor: 要求设置读锁的文件描述符 * @nStart: 起始位置 * @nOffSet: 要求设置的长度 * * 设置文件的读锁 * * Returns: 成功操作返回转换后长度 失败操作返回-1 */int cutil_flock_set_read(int nFileDescriptor, int nStart, int nOffSet){ struct flock struFileLock; struFileLock.l_type = F_RDLCK; struFileLock.l_whence = SEEK_SET; struFileLock.l_start = nStart; struFileLock.l_len = nOffSet; return fcntl(nFileDescriptor, F_SETLK, &struFileLock);}/** * cutil_flock_unset_read * @nFileDescriptor: 要求设置读锁的文件描述符 * @nStart: 起始位置 * @nOffSet: 要求设置的长度 * * 清除设置文件的读锁 * * Returns: 成功操作返回转换后长度 失败操作返回-1 */int cutil_flock_unset_read(int nFileDescriptor, int nStart, int nOffSet){ struct flock struFileLock; struFileLock.l_type = F_UNLCK; struFileLock.l_whence = SEEK_SET; struFileLock.l_start = nStart; struFileLock.l_len = nOffSet; return fcntl(nFileDescriptor, F_SETLK, &struFileLock);}/** * cutil_flock_set_write * @nFileDescriptor: 要求设置写锁的文件描述符 * @nStart: 起始位置 * @nOffSet: 要求设置的长度 * * 设置文件的写锁 * * Returns: 成功操作返回转换后长度 失败操作返回-1 */int cutil_flock_set_write(int nFileDescriptor, int nStart, int nOffSet){ struct flock struFileLock; struFileLock.l_type = F_WRLCK; struFileLock.l_whence = SEEK_SET; struFileLock.l_start = nStart; struFileLock.l_len = nOffSet; return fcntl(nFileDescriptor, F_SETLK, &struFileLock);}/** * cutil_flock_unset_write * @nFileDescriptor: 要求设置写锁的文件描述符 * @nStart: 起始位置 * @nOffSet: 要求设置的长度 * * 设置文件的写锁 * * Returns: 成功操作返回转换后长度 失败操作返回-1 */int cutil_flock_unset_write(int nFileDescriptor, int nStart, int nOffSet){ struct flock struFileLock; struFileLock.l_type = F_UNLCK; struFileLock.l_whence = SEEK_SET; struFileLock.l_start = nStart; struFileLock.l_len = nOffSet; return fcntl(nFileDescriptor, F_SETLK, &struFileLock);}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?