id summary reporter owner description type status milestone component version severity resolution keywords cc 10506 Infinite loop in create_or_open_file kevin.arunski@… Ion Gaztañaga "This function will never exit if the call to ::open returns -1 for a reason other than EEXIST. inline file_handle_t create_or_open_file (const char *name, mode_t mode, const permissions & perm = permissions(), bool temporary = false) { (void)temporary; int ret = -1; //We need a loop to change permissions correctly using fchmod, since //with ""O_CREAT only"" ::open we don't know if we've created or opened the file. while(1){ ret = ::open(name, ((int)mode) | O_EXCL | O_CREAT, perm.get_permissions()); if(ret >= 0){ ::fchmod(ret, perm.get_permissions()); break; } else if(errno == EEXIST){ if((ret = ::open(name, (int)mode)) >= 0 || errno != ENOENT){ break; } } } return ret; } For example if the call fails due to errno == EACCESS, the function does not exit." Bugs closed To Be Determined interprocess Boost 1.56.0 Problem fixed