Development
Another serious memory leak in python-ldap
I have submitted another patch for python-ldap. This time it’s error path.
参与评论Python 2.4.3 RC1
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中的内存泄漏!!
之前曾经误认为 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的情形。
阅读全文…My misunderstanding of OpenLDAP API
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.
参与评论漏啊,漏啊
今天给某个维护OpenLDAP相关port的老大提了几个patch,等他消息了。
另外就是Python自己也会有泄漏,而且居然是gc部分自己出了许多tuple,这年头:(
参与评论FreeBSD src Makefile大手术
Ruslan Ermilov大长辈commit了一组Makefile变动。这包含了许多来自NetBSD和FreeBSD ports的特性。
- 新增了MK_*选项。这些选项是开发人员设置的,如果用户配置的话将发生错误。
- 使用WITH_*和WITHOUT_*来控制是否build选项。
- 某些选项提供了MK_*_SUPPORT子选项。
- 系统选项可以在 /etc/src.conf 来配置。
感觉比之前要清晰许多。
参与评论OpenLDAP的内存泄漏
今天发现了OpenLDAP client库的一个内存泄漏(每次连接会漏掉大约80字节),并提交了ITS patch(4441),不过我觉得这里面上锁上的还是有点问题的,至少逻辑不是很清楚。
参与评论while(0)是干吗的?
今天 renzhen 同学问起为什么很多宏都定义为 do { something… } while(0),我也顺便温习了一下。
简而言之:如果希望宏表现的和函数接近,就需要这样做。
阅读全文…给csh增加了简体中文(GBK)支持
对GBK的locale做了一些改动,使得其能够提供正确的字符宽度信息了。这样一来,csh就能够正确处理GBK的中文了。昨天还增加了正体(我们叫做繁体)中文对应的locale变化。
阅读全文…感动,总算找到LANG等环境的说明了……
原来是 environ(7),今天看col(1)偶然发现的……
参与评论