1. 18 Sep, 2013 1 commit
    • make heavier use of process_lock (v2) · 025ed0f3
      Serge Hallyn authored
      pthread_mutex_lock() will only return an error if it was set to
      PTHREAD_MUTEX_ERRORCHECK and we are recursively calling it (and
      would otherwise have deadlocked).  If that's the case then log a
      message for future debugging and exit.  Trying to "recover" is
      nonsense at that point.
      
      process_lock() was held over too long a time in lxcapi_start()
      in the daemonize case.  (note the non-daemonized case still needs a
      check to enforce that it must NOT be called while threaded).  Add
      process_lock() at least across all open/close/socket() calls.
      
      Anything done after a fork() doesn't need the locks as it is no
      longer threaded - so some open/close/dups()s are not locked for
      that reason.  However, some common functions are called from both
      threaded and non-threaded contexts.  So after doing a fork(), do
      a possibly-extraneous process_unlock() to make sure that, if we
      were forked while pthread mutex was held, we aren't deadlocked by
      nobody.
      
      Tested that lp:~serge-hallyn/+junk/lxc-test still works with this
      patch.
      Signed-off-by: 's avatarSerge Hallyn <serge.hallyn@ubuntu.com>
      Tested-by: 's avatarS.Çağlar Onur <caglar@10ur.org>
      Acked-by: 's avatarStéphane Graber <stgraber@ubuntu.com>
  2. 16 Sep, 2013 4 commits
  3. 14 Sep, 2013 3 commits
  4. 13 Sep, 2013 2 commits
  5. 12 Sep, 2013 10 commits
  6. 11 Sep, 2013 6 commits
  7. 10 Sep, 2013 14 commits