SH_DENY * эквивалент в солярисе - PullRequest
2 голосов
/ 08 июня 2011

Solaris эквивалентен fcntl.h и share.h

Я портирую большой проект C ++ из Windows/VS to Solaris/Eclipse/gcc. Код Windows использует _SH_DENYNO и т. Д., Которые находятся в файле Microsoft share.h. Тот же файл на Солнце в /usr/include/sys не содержит ни этих, ни других, которые я могу найти.

Полагаю, у них есть другое имя в Солярисе. Может кто-нибудь сказать мне, где найти их эквивалент? Версии Windows имеют следующие значения:

 #define _SH_DENYRW      0x10    /* deny read/write mode */
 #define _SH_DENYWR      0x20    /* deny write mode */
 #define _SH_DENYRD      0x30    /* deny read mode */
 #define _SH_DENYNO      0x40    /* deny none mode */
 #define _SH_SECURE      0x80    /* secure mode */

Версии Solaris имеют одинаковые значения?

(извините за большой шрифт, он настоял)

1 Ответ

2 голосов
/ 08 июня 2011

Я думаю, что Solaris, как и другие Unix, всегда _SH_DENYNO.Вам нужна явная блокировка файлов, попробуйте lockf или fcntl.

...