[lxc-devel] [PATCH 2/2] daemon: remove pidfile when daemon container is stopped
Qiang Huang
h.huangqiang at huawei.com
Mon Jan 20 07:22:31 UTC 2014
On 2014/1/19 8:57, Stéphane Graber wrote:
> On Sat, Jan 18, 2014 at 03:00:00PM +0800, Qiang Huang wrote:
>> This is for bug: https://github.com/lxc/lxc/issues/89
>>
>> When start container with daemon model, the daemon process's
>> father will return back to main in start time, and pidfile
>> is removed then, that's not right.
>> So we store pidfile to lxc_container, and remove it when
>> lxc_container_free.
>
> That one looks wrong to me, removing the pid file on lxc_container_free
> is wrong. We want the pidfile removed when the background lxc-start
> exits, not whenever a random API client flushes the container from
> memory.
>
> With your patch, doing something like:
> - lxc-start -n p1 -d -p /tmp/pid
> - python3
> import lxc
> p1 = lxc.Container("p1")
> p1 = None
I'm sorry I'm not family with python, can you explain how this would
happen in real world? Thanks.
>
> Or the equivalent with any binding, or directly in C, will destroy the
> pid file even though the container is clearly still running.
I thought when the backgroud lxc-start exits, it's time for container
to free, because there are no other place to do lxc_contaier_get to
hold the container from freeing.
I must missed something :( , so waiting for your more details.
More information about the lxc-devel
mailing list