- locks,
Andrey Mitrofanov, 13:14 , 09-Июн-14 (1)>что будет еслиХорошая задача!! Предлагаю Научный Метод Тыка. Обязательно проверь _все флаги fcntl() и все их сочетания.
- locks,
Анатолий, 14:18 , 09-Июн-14 (2)>>что будет если > Хорошая задача!! Предлагаю Научный Метод Тыка. > Обязательно проверь _все флаги fcntl() и все их сочетания.Попробовал различные флаги, попробовал установить 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; }
- locks,
Andrey Mitrofanov, 14:24 , 09-Июн-14 (3)> 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); puts("Посмотри, чего там с котом в другой консоли, потом нажми Enter."); gets(); > return EXIT_SUCCESS; > } http://www.opennet.dev/openforum/vsluhforumID3/96238.html#46
- locks,
Анатолий, 14:49 , 09-Июн-14 (4)>[оверквотинг удален] >> int fd; >> lock->l_type=F_WRLCK; >> if ((fd = open("path", NULL)) == -1) >> perror("open error"); >> fcntl(fd, F_SETLKW, lock); > puts("Посмотри, чего там с котом в другой консоли, потом нажми Enter."); > gets(); >> return EXIT_SUCCESS; >> } > http://www.opennet.dev/openforum/vsluhforumID3/96238.html#46 Там все так же читается.
- locks,
Andrey Mitrofanov, 15:10 , 09-Июн-14 (5)> Там все так же читается.Прекрасно! Задача решена. Неси преподу.
- locks,
Анатолий, 17:38 , 09-Июн-14 (6)>> Там все так же читается. > Прекрасно! Задача решена. Неси преподу.Так а почему именно так происходит?
- locks,
PavelR, 23:10 , 09-Июн-14 (7)>>> Там все так же читается. >> Прекрасно! Задача решена. Неси преподу. > Так а почему именно так происходит?Потому что эти блокировки носят уведомительный характер.
|