On Donnerstag, 26. November 2009, Torben Friese wrote:
[..]
Another interesting thing is if you bring in a log at line 205
(daemonize.c) it is working:
LM_ERR("what ever \n");
for (r=3; r < 32; r++){
close(r);
}
It seems that close() is not able to close the fd for the log (return
value from mksock in syslog_async.c).
But If I let the for-loop counter start at 4 it is still not working.
After that I tried to set up log_fd as global( int log_fd=-1) and
include the headers, to check the "r" against the log_fd before execute
close(). But the same result.
Also a correct close(closelog_async()) in deamonize do not work.
I am open for any ideas, maybe I have oversight something. Could you
reproduce this ?
Hello Torben,
i've just was able to reproduce this on 1.5 branch.
henning@ca:~/projects/openser/branches/1.5$ ./kamailio -V
version: kamailio 1.5.3-notls (i386/linux)
flags: STATISTICS, USE_IPV6, USE_TCP, DISABLE_NAGLE, USE_MCAST, SHM_MMAP,
PKG_MALLOC, F_MALLOC, FAST_LOCK-ADAPTIVE_WAIT
ADAPTIVE_WAIT_LOOPS=1024, MAX_RECV_BUFFER_SIZE 262144, MAX_LISTEN 16,
MAX_URI_SIZE 1024, BUF_SIZE 65535, PKG_SIZE 4194304
poll method support: poll, epoll_lt, epoll_et, sigio_rt, select.
svnrevision: 2:5958M
@(#) $Id: main.c 5608 2009-02-13 16:48:17Z henningw $
main.c compiled on 00:29:27 Dec 1 2009 with gcc 4.3.3
Here i get log file output, regardsless if i use log_stderror or not, but only
with debug=3.
Dec 1 00:33:47 [7985] INFO:core:init_tcp: using epoll_lt as the TCP io watch
method (auto detected)
Dec 1 00:33:47 [7987] ERROR:core:main: install asynchronous syslog handler..
Dec 1 00:33:47 [7987] NOTICE:core:main: version: kamailio 1.5.3-notls
(i386/linux)
The second log msg was added from me, to see if the correct function is
called.
This is on a kubuntu 9.04, with version 1.5-5ubuntu3 of sysklogd.
When i use debug=2 in the cfg, aparently it not works.. Interesting, i'll
investigate more.
Regards,
Henning