fixed compile problems with producer/consumer