Всем привет. Не могли бы вы помочь разобраться с одним вопросом, а именно: что будет если заблочить файл fcntl'ем, а на другом терминале cat'ом попытаться его читать? Попробовал различные флаги, попробовал установить sgid бит на права доступа к файлу для mandatory блокировки, все равно читается.
#include <unistd.h>
#include <errno.h>
#include <sys/types.h>
#include <sys/stat.h>
#include <fcntl.h>
#include <string.h>
#include <stdlib.h>
#include <stdio.h>
int main(int argc, char **argv)
{
    struct flock *lock;
    int fd;
    lock->l_type=F_WRLCK;
    if ((fd = open("path", NULL)) == -1)
        perror("open error");
    fcntl(fd, F_SETLKW, lock);
    return EXIT_SUCCESS;
}

