Development

Another serious memory leak in python-ldap

| Development

I have submitted another patch for python-ldap. This time it’s error path.

参与评论

Python 2.4.3 RC1

| Development

So Python will release the bugfix release, 2.4.3. Now they have released the RC1 as a release candidate, with more than 50 bugfixes!

参与评论

终于抓住了py-ldap中的内存泄漏!!

| Development

之前曾经误认为 Python中存在内存泄漏,不过最终证明还是C程序的问题。Py-LDAP2这个模块在某些情况下,会泄漏一个空的List,具体泄漏代码如下:

retval = Py_BuildValue("(OOiO)", result_str, pmsg, res_msgid, pyctrls ? pyctrls : PyList_New(0));

当pyctrls == NULL时,Py_BuildValue()会为PyList_New(0)生成的那个对象再增加一个引用,这样会导致泄漏。这一问题会发生于调用result()而all=0的情形。

阅读全文…( 本文约 196 字,阅读大致需要 1 分钟 )

My misunderstanding of OpenLDAP API

| Development

I used to think that ldap_unbind() is the opposite of ldap_bind(), however I was wrong. Pierangelo Masarati (ando at openldap) pointed out that it was actually opposite of ldap_init(). So, do NOT expect init() -> bind() -> search() -> unbind() -> bind() would success, it’s simply wrong thing. You do not need to unbind() before you do another bind().

Just make a note.

参与评论

漏啊,漏啊

| Development

今天给某个维护OpenLDAP相关port的老大提了几个patch,等他消息了。

另外就是Python自己也会有泄漏,而且居然是gc部分自己出了许多tuple,这年头:(

参与评论

FreeBSD src Makefile大手术

| Development

Ruslan Ermilov大长辈commit了一组Makefile变动。这包含了许多来自NetBSD和FreeBSD ports的特性。

感觉比之前要清晰许多。

参与评论

OpenLDAP的内存泄漏

| Development

今天发现了OpenLDAP client库的一个内存泄漏(每次连接会漏掉大约80字节),并提交了ITS patch(4441),不过我觉得这里面上锁上的还是有点问题的,至少逻辑不是很清楚。

参与评论

while(0)是干吗的?

| Development

今天 renzhen 同学问起为什么很多宏都定义为 do { something… } while(0),我也顺便温习了一下。

简而言之:如果希望宏表现的和函数接近,就需要这样做。

阅读全文…( 本文约 124 字,阅读大致需要 1 分钟 )

给csh增加了简体中文(GBK)支持

| Development

对GBK的locale做了一些改动,使得其能够提供正确的字符宽度信息了。这样一来,csh就能够正确处理GBK的中文了。昨天还增加了正体(我们叫做繁体)中文对应的locale变化。

阅读全文…( 本文约 119 字,阅读大致需要 1 分钟 )

感动,总算找到LANG等环境的说明了……

| Development

原来是 environ(7),今天看col(1)偶然发现的……

参与评论