From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.2.5 (2008-06-10) on sa.int.altlinux.org X-Spam-Level: X-Spam-Status: No, score=-1.2 required=5.0 tests=AWL,BAYES_00,SPF_HELO_PASS, SPF_PASS autolearn=ham version=3.2.5 X-Virus-Scanned: amavisd-new 2.5.3 (20071212) at sakhalin.ru Message-ID: <492F7A75.2090008@sakhalin.ru> Date: Fri, 28 Nov 2008 14:58:29 +1000 From: Dmitry Lebkov User-Agent: Thunderbird 2.0.0.14 (X11/20080719) MIME-Version: 1.0 To: ALT Devel discussion list References: <20081127234130.GB1852@wo.int.altlinux.org> In-Reply-To: <20081127234130.GB1852@wo.int.altlinux.org> Content-Type: multipart/mixed; boundary="------------000800050505070802070202" Subject: Re: [devel] Q: libdb-4.4.so users X-BeenThere: devel@lists.altlinux.org X-Mailman-Version: 2.1.10b3 Precedence: list Reply-To: ALT Linux Team development discussions List-Id: ALT Linux Team development discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 28 Nov 2008 04:58:36 -0000 Archived-At: List-Archive: List-Post: This is a multi-part message in MIME format. --------------000800050505070802070202 Content-Type: text/plain; charset=KOI8-R; format=flowed Content-Transfer-Encoding: 8bit Dmitry V. Levin пишет: > Hi, > > Просьба к немногочисленным (5 пакетов) оставшимся пользователям > libdb-4.4.so прокомментировать перспективы перехода на libdb-4.7.so > openldap-2.3.43-alt1.src.rpm На данный момент для ветки 2.3 перспектив перехода на BDB-4.7 нет. В ближайшее время постараюсь заняться переходом на openldap-2.4. По-крайней мере openldap-2.4.13 нормально собрался с libdb-4.7 и успешно "отстоял" собственные внутренние тесты. Встречный вопрос: присоединенный к сообщению патч можно приложить к нынешней libdb-4.7? README из openldap-2.4.13.tgz заявляет следующее: ... In addition, for BDB 4.7, it is advised to also use the supplied build/db.4.7.25.patch. ... -- WBR, Dmitry Lebkov --------------000800050505070802070202 Content-Type: text/x-patch; name="db.4.7.25.patch" Content-Transfer-Encoding: 7bit Content-Disposition: inline; filename="db.4.7.25.patch" --- db-4.7.25/lock/lock.c.orig 2008-05-07 05:27:35.000000000 -0700 +++ db-4.7.25/lock/lock.c 2008-09-26 11:07:15.000000000 -0700 @@ -1274,10 +1274,12 @@ SH_TAILQ_REMOVE( <->obj_tab[obj_ndx], sh_obj, links, __db_lockobj); if (sh_obj->lockobj.size > sizeof(sh_obj->objdata)) { - LOCK_REGION_LOCK(env); + if (region->part_t_size != 1) + LOCK_REGION_LOCK(env); __env_alloc_free(<->reginfo, SH_DBT_PTR(&sh_obj->lockobj)); - LOCK_REGION_UNLOCK(env); + if (region->part_t_size != 1) + LOCK_REGION_UNLOCK(env); } SH_TAILQ_INSERT_HEAD( &FREE_OBJS(lt, part_id), sh_obj, links, __db_lockobj); @@ -1467,15 +1469,21 @@ if (obj->size <= sizeof(sh_obj->objdata)) p = sh_obj->objdata; else { - LOCK_REGION_LOCK(env); + /* + * If we have only one partition, the region is locked. + */ + if (region->part_t_size != 1) + LOCK_REGION_LOCK(env); if ((ret = __env_alloc(<->reginfo, obj->size, &p)) != 0) { __db_errx(env, "No space for lock object storage"); - LOCK_REGION_UNLOCK(env); + if (region->part_t_size != 1) + LOCK_REGION_UNLOCK(env); goto err; } - LOCK_REGION_UNLOCK(env); + if (region->part_t_size != 1) + LOCK_REGION_UNLOCK(env); } memcpy(p, obj->data, obj->size); --------------000800050505070802070202--