On Tue, 14 Feb 2006, Daniel Swarbrick wrote:
> On Mon, 2006-02-13 at 15:57 -0600, Jeffrey C. Ollie wrote:
> > Cores are dumped wherever the system thinks that the process's current
> > directory is. Usually that is the directory that the process is started
> > in. Try cd'ing to /tmp before starting openpbx and see if you get a
> > core in /tmp. It'd be easy enough to add a call to chdir("/tmp")
> > somewhere in the code (or maybe another directory that's owned by the
> > openpbx user).
>
> Ok, tried that and it didn't work, but I think I see why. If I run
> openpbx detached, and check its cwd by looking up it's process ID
> under /proc, it shows a cwd of '/'. If I start openpbx non-detached (eg,
> with '-d'), the cwd of the process is whatever directory I started it
> from.
>
> So, somewhere in openpbx (I haven't looked yet), when it detaches, it
> sets the cwd to '/'.
This is because openpbx is using
daemon(0,0);
to daemonize. The first parameter means change to /
Try to change to
daemon(1,0);
Armin
_______________________________________________
Openpbx-dev mailing list
[email protected]
http://lists.openpbx.org/mailman/listinfo/openpbx-dev