История изменений
Исправление no-such-file, (текущая версия) :
И они оба хотят работать с id=123. Возникает ровто таже проблема, что я описал выше.
Вроде бы не возникает, или я вас неправильно понял. В моём примере make и release могут вызываться только синхронно, т.е. из одного треда, последовательно.
Представьте, что два треда (один делает make, второй release) делают
MakeReleaseLock mr(repo.getMakeReleaseLock());
Один из них получит объект для работы, а второй тред залочится. Соответственно пока первый тред не отработает, из второго треда release вызвать нельзя, вмешаться в работу make нельзя. Значит make может сделать все, что положено, вернуть правильный указатель и т.д.
Исходная версия no-such-file, :
И они оба хотят работать с id=123. Возникает ровто таже проблема, что я описал выше.
Вроде бы не возникает, или я вас неправильно понял. В моём примере make и release могут вызываться только синхронно, т.е. из одного треда.
Представьте, что два треда (один делает make, второй release) делают
MakeReleaseLock mr(repo.getMakeReleaseLock());
Один из них получит объект для работы, а второй тред залочится. Соответственно пока первый тред не отработает, из второго треда release вызвать нельзя, вмешаться в работу make нельзя. Значит make может сделать все, что положено, вернуть правильный указатель и т.д.