Quoting Dwight Engen (dwight.en...@oracle.com): > On Fri, 24 May 2013 16:09:59 -0500 > Serge Hallyn <serge.hal...@ubuntu.com> wrote: > > > ( These are pushed to github.com/hallyn/lxc branch > > lxclock-flock.rebase ) > > > > Create three pairs of functions: > > int process_lock(void); > > void process_unlock(void); > > int container_mem_lock(struct lxc_container *c) > > void container_mem_unlock(struct lxc_container *c) > > int container_disk_lock(struct lxc_container *c); > > void container_disk_unlock(struct lxc_container *c); > > > > and use those in lxccontainer.c > > > > process_lock() is to protect the process state among multiple threads. > > container_mem_lock() is to protect a struct container among multiple > > threads. container_disk_lock is to protect a container on disk. > > > > Also remove the lock in lxcapi_init_pid() as Dwight suggested. > > > > Fix a typo (s/container/contain) spotted by Dwight. > > > > More locking fixes are needed, but let's first the the fundamentals > > right. How close does this get us? > > Looks good to me, much cleaner in lxccontainer.c, nice! Minor question: > can lxclock() and lxcunlock() be made static now?
Yup, I'll add that. The one other thing we still need before create can move into the api is the $lxcpath/$container/partial file. I"ll have lxcapi_create() create that file at start, delete it at end, and have lxcapi_start() and lxc_container_new() delete what they find on disk if that file is still there. (That may be too rash, but I don't think it is.) > Acked-by: Dwight Engen <dwight.en...@oracle.com> ------------------------------------------------------------------------------ Try New Relic Now & We'll Send You this Cool Shirt New Relic is the only SaaS-based application performance monitoring service that delivers powerful full stack analytics. Optimize and monitor your browser, app, & servers with just a few lines of code. Try New Relic and get this awesome Nerd Life shirt! http://p.sf.net/sfu/newrelic_d2d_may _______________________________________________ Lxc-devel mailing list Lxc-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/lxc-devel