2012-03-02 6 views
3

以外の機能の中でfcntl()を使用できますか?ファイルを呼び出した後、ファイルはロック解除されますか?私はこの場合、fcntl()lockfile()の中の他のほとんどすべてが範囲外であるので、これを言う。returnsfcntl()スコープの可視性の動作?

int lockfile(void){ 
    int fd; 
    const char *path = "path-to-lockfile"; 

    struct flock fl; 
    fl.l_type = F_WRLCK; 
    fl.l_whence = SEEK_SET; 
    fl.l_start = 0; 
    fl.l_len = 0 
    fl.l_pid = getpid(); 

    fd = open(path, O_RDWR|O_CREAT); 

    fcntl(fd, F_SETLKW, &fl); 

    return fd; 
} 
+0

これを読んで、私たちは鳥の群れ行動について語るつもりだと思っています。 –

答えて

2

fcntlコールはファイルのロックを配置します。ファイルがクローズされるか、ロックが解除されるまではそのままです。構造は、fcntlに何をするかを伝えるために必要なだけです。