Oops, you are absolutely correct, will send a V2 fixing that. We can continue this discussion on V2. //Ming Liu Richard Purdie 于2019年1月25日 周五15:10写道: > On Fri, 2019-01-25 at 14:44 +0100, Ming Liu wrote: > > Hi, Richard: > > > > Involve in Mark. > > > > Please correct me if I am wrong, but according to the code, seems > > these upper level locks could not protect this race condition, > > because it's inside the GitSM unpack function, the call chain is: > > > > Inside GitSM: > > ``` > > def unpack > > -> for module in submodules: > > -> unpack_submodules > > -> runfetchcmd > > -> bb.process.run > > -> git config submodule > > ``` > > > > since 'git config submodule' run concurrently and try to modify a > > same git config file, hence the race might happen, but it's hard to > > be reproduced since 'git config submodule' finishes quite quickly. > > for that git config call, workdir=ud.destdir so its not in any shared > location like DL_DIR but in a recipe's workdir? > > Cheers, > > Richard > >