mkdir race condition

Дмитрий Матвеев via omniORB-list <[email protected]> Sun, 30 Jun 2019 19:16:56 +0300
Newsgroups gmane.comp.corba.omniorb.user
Message-ID <CAOQo_jA2SCvWykevhaXGY97vEy-aRbF+Vzqs=KdXxgkagdMLAg@mail.gmail.com>
There is race condition in creating directory when multiple exes with
omniORB is starting.
mkdir() can return EEXIST errno when directory exists and it is not error -
other instance of omniORB already created directory.

Fix in comment in file
"omniORB/src/lib/omniORB/orbcore/unix/unixTransportImpl.cc":

else {
  if (mkdir(param,0755) < 0) { // <<< should be "mkdir(param,0755) < 0 &&
errno != EEXIST)"
if (omniORB::trace(1)) {
  omniORB::logger log;
  log << "Error: cannot create directory: " << param << "\n";
}
return 0;
  }
}

_______________________________________________
omniORB-list mailing list
[email protected]
http://www.omniorb-support.com/mailman/listinfo/omniorb-list