git-svn-id: svn://db.shs.com.ru/pip@448 12ceb7fc-bf1f-11e4-8940-5bc7170c53b5
This commit is contained in:
@@ -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()) {
|
||||||
|
|||||||
@@ -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);
|
||||||
|
|||||||
Reference in New Issue
Block a user