이 완료 객체에 호출되는이 완료 객체에 wait_for_completion()
을 할 얻는 작업 전에 (작업 B에서)? 객체가 이미 대기 시간에 완료되었는지 즉시 확인할 수있는 API가 있습니까? 한 가지 방법은 메시지를 보내기 전에 잠긴 mutex
을 사용하고 대기 전에 잠금을 해제 할 수 있습니다. 그 자물쇠는 complete_all()
전에 취득해야하고 후에 풀어 놓고 그러나 더 청결한 더 나은 방법이 있는지 생각해 볼 필요가있다. 어떤 아이디어라도 환영합니다.완료 객체 경쟁 조건
추가 컨텍스트 :태스크가가 완료 객체를 초기화가 완료 객체의 주소와 함께 태스크 B에 요청을 전송하고 종료를 기다린다. 작업 B은 메시지를 가져올 때 처리를 수행 한 다음 완료 개체에 complete_all()
을 수행합니다.
커널이 이미이 사건을 처리하고 있습니다. –