Eugene Grosbein wrote:
> Есть so'шка, которой нужны pthreads. Она подгружается mod_perl'ом
> во время старта Apache. И Apache, и mod_perl, и perl собраны стандартно
> и, соответственно, слинкованы с libc, а не с libc_r, в которой есть
> pthreads (система - FreeBSD 3.4-STABLE). Соответственно ничего не работает.
> Что из всей этой связки достаточно пересобрать с -pthread, чтоб so'шка
> загрузилась? И будет ли это работать, слышал, что ни Apache, ни perl
> не tread-safe пока.
Я не советую собирать апач с libc_r: боюсь, будет слишком много
геморроя. Есть надежда, что этой so'шке на самом деле pthreads не
нужны. Можно попробовать написать себе куда-нибудь что-то такое:
int
pthread_mutex_lock(void *m)
{
return 0;
}
int
pthread_mutex_unlock(void *m)
{
return 0;
}
и т. д. Если не понадобится pthread_create() - должно работать.
Дима
P.S. Формально говоря, ключ -pthread интерестен только линкеру,
а исполняемый файл у Вас вроде только один - апач. Так что, если
придется "собирать с -pthread", этот ключ нужно говорить только при
линковке апача.
=============================================================================
= Apache-Talk@xxxxxxxxxxxxx mailing list =
Mail "unsubscribe apache-talk" to majordomo@xxxxxxxxxxxxx if you want to quit.
= Archive avaliable at http://www.lexa.ru/apache-talk =
"Russian Apache" includes software developed
by the Apache Group for use in the Apache HTTP server project
(http://www.apache.org/) See
Apache LICENSE.
Copyright (C) 1995-2001 The Apache Group. All rights reserved.
Copyright (C) 1996 Dm. Kryukov; Copyright (C)
1997-2009 Alex Tutubalin. Design (C) 1998 Max Smolev.