don’t use boost condition variables , it has bug, use std versions instead