I experimented over the weekend but was too tired to post the results :-)
>Here are the major problems:
>
>1. '-D' doesn't prevent forking to background
The single process which runs in the background does indeed work as
confirmed with tests using 'sipsak', but only on one interface
(loopback, unless it is explicitly specified in ser.cfg).
Without using command-line options:
"fork=yes" set in ser.cfg results on only a single process running in
the background
"fork=no" set in ser'cfg results in several processes starting followed
by a segfault (in one of them, the rest remain running):
(gdb) bt
#0 0x83a2584 in _atomic_lock ()
#1 0x83a2564 in _spinlock_debug ()
also, the fifo is created and 'serctl ps' will list the (2)
running processes, but this query will kill those
processes.
I tried running with various values of shmem (-m 4, 8, 12, etc) which
doesn't seem to change the behavior but changes the corefile size
somewhat. The machine has 16MB RAM and 500MB swap space -- for the
mixture of tasks it runs as a router (isakmpd, pf, snort, various
proxies) it never swaps; the swap space is there for big compiles
-- I vainly tried building OpenH323 and after eight days it gave up
on h323.cxx -- note that searching archives shows others have been
unable to build it on OpenBSD/sparc regardless of how much ram they have.
For my intended application (a few phones on our natted lan) I wouldn't
mind using just a single process with a very small memory footprint, but
it would need to listen on all of the interfaces and work with rtpproxy.
>2. no fifo is created regardless of the
'fifo=' statement in 'ser.cfg'
> or the command-line '-i' argument
Did you comment out log_stderror and fork in ser.cfg?
ser.cfg takes
precedence over the command line (so if you have fork=yes in ser.cfg,
-D will be ignored).
See above for strange behavior.
>Permissions are correct for creating a fifo in the specified directory
>(I ususally use /tmp).
See above -- fifo is created if "fork=no"
> Strange, I've tried this on openbsd
3.2/x86 and it works.
> Andrei
Regards,
Michael Grigoni
Cybertheque Museum