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