Привет,
странное обстоятельство с использованием shared memory под FreeBSD.
В документации по apache сказано, что
Peruse the src/main/conf.h file for your architecture and look for either
USE_MMAP_SCOREBOARD or USE_SHMGET_SCOREBOARD. Defining one of those two
(as well as their companions HAVE_MMAP and HAVE_SHMGET respectively)
enables the supplied shared memory code.
Для FreeBSD прописано (по умолчанию) использовать mmap scoreboard файл:
#elif defined(__FreeBSD__) || defined(__bsdi__)
#if defined(__FreeBSD__)
...
#define HAVE_MMAP 1
#define USE_MMAP_SCOREBOARD
#define USE_MMAP_FILES
...
#endif
а в файле конфигурации, написано что scoreboard файл создастся если
понадобится:
# ScoreBoardFile: File used to store internal server process information.
# Not all architectures require this. But if yours does (you'll know because
# this file will be created when you run Apache) then you *must* ensure that
# no two invocations of Apache share the same scoreboard file.
При этом у меня на FreeBSD 4-STABLE (где-то сентябрьский)
не используется не mmap scoreboard файл, ни shared memory
И второе, почему во freebsd по умолчанию не используется shared memory.
При компляции с
#define HAVE_SHMGET 1
#define USE_SHMGET_SCOREBOARD
все успешно работает. По крайней мере ipcs -p показывает что
apache сделал shared memory.
Спасибо, кто поможет!
-- Дмитрий
=============================================================================
Apache-Talk@lists.lexa.ru mailing list Mail
"unsubscribe apache-talk" to majordomo@lists.lexa.ru if you want to quit.
= Archive avaliable at http://www.lexa.ru/apache-talk