[omniORB] mkdir race condition

Дмитрий Матвеев zii.dmg at gmail.com
Sun Jun 30 17:16:56 BST 2019


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;
  }
}
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://www.omniorb-support.com/pipermail/omniorb-list/attachments/20190630/697cde4c/attachment.html>


More information about the omniORB-list mailing list