代码段:...
const char* stmt = "select count(*) from ca_ic_key where flag='0'"; rv  = apr_dbd_pselect(handle->driver,pool,handle->db,&res,stmt,0,0, pboc_build_args(handle,query,args));
va_end(args);
if(rv==0){
rv = apr_dbd_get_row(handle->driver, pool, res, &row, -1) ;
if (rv==0){
entry = apr_dbd_get_entry(handle->driver, row, 0);
}
...程序稳定性测试,跑了一个月后,apr_dbd_get_row 这行僵死了,已经两天了!一直不返回; 这个表是正常的,sqlplus Sql语句能够正常返回;下面是详细信息:Thread 20 (Thread 0x7013b70 (LWP 47759)):
#0  0x005d7430 in __kernel_vsyscall ()
#1  0x00ae65fb in read () from /lib/libpthread.so.0
#2  0x029e3b87 in snttread () from /home/pboc/usr/lib/libclntsh.so.11.1
#3  0x029e2d06 in nttfprd () from /home/pboc/usr/lib/libclntsh.so.11.1
#4  0x029dc3f9 in nsbasic_brc () from /home/pboc/usr/lib/libclntsh.so.11.1
#5  0x029df466 in nsbrecv () from /home/pboc/usr/lib/libclntsh.so.11.1
#6  0x029cf6e1 in nioqrc () from /home/pboc/usr/lib/libclntsh.so.11.1
#7  0x02a1a03f in ttcdrv () from /home/pboc/usr/lib/libclntsh.so.11.1
#8  0x029d5548 in nioqwa () from /home/pboc/usr/lib/libclntsh.so.11.1
#9  0x029bd7cb in upirtrc () from /home/pboc/usr/lib/libclntsh.so.11.1
#10 0x029c5e9c in kpurcsc () from /home/pboc/usr/lib/libclntsh.so.11.1
#11 0x029c47b0 in kpufch0 () from /home/pboc/usr/lib/libclntsh.so.11.1
#12 0x029c2f98 in kpufch () from /home/pboc/usr/lib/libclntsh.so.11.1
#13 0x01058f82 in OCIStmtFetch2 () from /home/pboc/usr/lib/libclntsh.so.11.1
#14 0x004fe678 in dbd_oracle_get_row () from /home/pboc/usr/lib/apr-util-1/apr_dbd_oracle-1.so
#15 0x00273190 in apr_dbd_get_row () from /home/pboc/usr/lib/libaprutil-1.so.0
#16 0x00de0bbb in pboc_apr_pselect_count () from /home/pboc/pboc2/lib/libpcom.so
#17 0x00db54b9 in pboc_db_select_makekey () from /home/pboc/pboc2/lib/libcms.so
#18 0x00db5690 in pboc_dispatch_key () from /home/pboc/pboc2/lib/libcms.so
#19 0x00c0fdec in dummy_worker () from /home/pboc/usr/lib/libapr-1.so.0
#20 0x00adfb39 in start_thread () from /lib/libpthread.so.0
#21 0x00364d8e in clone () from /lib/libc.so.6
不知道是哪里的错,不甚感激!