Front after push don't work correctly
void qpush(char * src)
{
unique_lock<mutex> lock(mtx);
not_full.wait(lock, [this]() {return _data.size() < maxsize;});
_data.emplace(src);
cout<<"data is qpush is : "<<string(src)<<endl;
const char * dst=move(_data.front());
cout<<"data after qpush is : "<<string(dst)<<"\n"<<endl;
lock.unlock();
not_empty.notify_one();
}
char * qget()
{
unique_lock<mutex> lock(mtx);
char *dst=move(_data.front());
cout<<"data in qget is : "<<dst<<endl;
lock.unlock();
not_empty.notify_one();
return dst;
}
data is qpush is :This is a data ready to be sent to Channel
data after qpush is : is is a data ready to be sent to Channel
Aucun commentaire:
Enregistrer un commentaire