git-svn-id: svn://db.shs.com.ru/pip@448 12ceb7fc-bf1f-11e4-8940-5bc7170c53b5

This commit is contained in:
2017-04-20 12:50:53 +00:00
parent a49aaf7727
commit d03bf46791
2 changed files with 10 additions and 10 deletions

View File

@@ -119,18 +119,18 @@ bool PISharedMemory::openDevice() {
PRIVATE->name = ("/pip_shm_" + path()).toByteArray(); PRIVATE->name = ("/pip_shm_" + path()).toByteArray();
PRIVATE->name.push_back(0); PRIVATE->name.push_back(0);
int fd = shm_open((const char *)PRIVATE->name.data(), m, 0777); int fd = shm_open((const char *)PRIVATE->name.data(), m, 0777);
piCoutObj << "try open" << PICoutManipulators::Hex << fd; //piCoutObj << "try open" << PICoutManipulators::Hex << fd;
if (fd < 0) { if (fd < 0) {
piCoutObj << "shm_open error," << errorString(); //piCoutObj << "shm_open error," << errorString();
fd = shm_open((const char *)PRIVATE->name.data(), m | O_CREAT, 0777); fd = shm_open((const char *)PRIVATE->name.data(), m | O_CREAT, 0777);
piCoutObj << "try create" << PICoutManipulators::Hex << (m | O_CREAT) << fd; //piCoutObj << "try create" << PICoutManipulators::Hex << (m | O_CREAT) << fd;
if (fd < 0) { if (fd < 0) {
piCoutObj << "shm_open error," << errorString(); //piCoutObj << "shm_open error," << errorString();
return false; return false;
} }
PRIVATE->owner = true; PRIVATE->owner = true;
ftruncate(fd, dsize); ftruncate(fd, dsize);
piCoutObj << "created" << fd; //piCoutObj << "created" << fd;
} }
m = PROT_WRITE; m = PROT_WRITE;
if (!isWriteable()) m = PROT_READ; if (!isWriteable()) m = PROT_READ;
@@ -140,7 +140,7 @@ bool PISharedMemory::openDevice() {
piCoutObj << "mmap error," << errorString(); piCoutObj << "mmap error," << errorString();
return false; return false;
} }
piCoutObj << "opened" << PRIVATE->data; //piCoutObj << "opened" << PRIVATE->data;
#endif #endif
return true; return true;
} }
@@ -152,7 +152,7 @@ bool PISharedMemory::closeDevice() {
if (PRIVATE->map) CloseHandle(PRIVATE->map); if (PRIVATE->map) CloseHandle(PRIVATE->map);
#endif #endif
#ifdef LINUX #ifdef LINUX
piCoutObj << "close" << PIString(PRIVATE->name) << PRIVATE->data; //piCoutObj << "close" << PIString(PRIVATE->name) << PRIVATE->data;
if (PRIVATE->data) munmap(PRIVATE->data, dsize); if (PRIVATE->data) munmap(PRIVATE->data, dsize);
if (PRIVATE->owner) { if (PRIVATE->owner) {
//if (!PRIVATE->name.isEmpty()) { //if (!PRIVATE->name.isEmpty()) {

View File

@@ -71,7 +71,7 @@ void PISingleApplication::begin() {
} }
piMSleep(100); piMSleep(100);
} }
//piCoutObj << "started" << first << shm->size(); piCoutObj << "started" << first << shm->size();
readed.reserve(shm->size()); readed.reserve(shm->size());
started = true; started = true;
} }
@@ -81,7 +81,7 @@ void PISingleApplication::run() {
if (!first) return; if (!first) return;
++sacnt; ++sacnt;
shm->write(&sacnt, 4); shm->write(&sacnt, 4);
//piCoutObj << "write" << sacnt; piCoutObj << "write" << sacnt;
readed = shm->readAll(); readed = shm->readAll();
int t(0), nm(0); int t(0), nm(0);
readed >> t >> nm; readed >> t >> nm;
@@ -90,7 +90,7 @@ void PISingleApplication::run() {
readed >> msg; readed >> msg;
if (!msg.isEmpty()) { if (!msg.isEmpty()) {
messageReceived(msg); messageReceived(msg);
//piCoutObj << "message" << msg; piCoutObj << "message" << msg;
} }
int wi[2] = {sacnt, 0}; int wi[2] = {sacnt, 0};
shm->write(wi, 8); shm->write(wi, 8);