Comments (3)
Missed one. This snippet pretty much covers it:
#ifdef FLOW_OS_WIN
static_assert(false, "Design of Permissions_level assumes a POSIX-y security model with users and groups; "
"we have not yet considered whether it can apply to Windows in its current form.");
#endif
- macOS: Should be fine.
- Windows: Well, see above. S_USER_ACCESS and S_GROUP_ACCESS, to begin with, assume a user/group-based security model - unsure how it works in Windows in the meantime. If it does map cleanly enough, then all instances where a Permissions_level is translated into a specific
Permissions
value (the POSIX RWXRWXRWC thing) have to be coded appropriately for Windows also. (At a glance, Boost.interprocess permissions class has some simple notion of Windows permissions. There is avoid*
involved and... stuff.)
from ipc.
A note from delightful HackerNews thread, by user rurban:
I also went this route and came to the very same conclusions. Cap'n proto for fast reading, SHM for shared data, simple short messaging, just everything in C.
My only problem is MacOS with its too small default SHM buffers, you need to enhance them. Most solutions need a reboot, but a simple setter is enough. Like sudo sysctl -w kern.sysv.shmmax=16777216
Details unclear at the moment (to me) but reminder to look into macOS's and Windows's SHM size limits in general at least. (Certainly they were a "thing" for SHM-classic in Linux, much less so in SHM-jemalloc.)
EDIT: Oh. System V. We use the modern POSIX API. This is probably irrelevant as written. But there may be other such limits applicable, as in Linux.
from ipc.
Let's just link the HackerNews thread here - it'll be good to refer to some notes there. E.g., iceoryx guys indicate Windows porting might not be as simple (not that it looks that simply) as the above might indicate. Point is, comb through this when working on it. https://news.ycombinator.com/item?id=40028118
from ipc.
Related Issues (12)
- (FAKE ISSUE) Store uploaded items not in repo - like videos for docs. HOT 2
- compare with iceoryx HOT 1
- ipc_{core|transport_structured|session|shm}: Unit tests.
- ipc_*: Formal test coverage analysis.
- ipc_*: Normalize logging names/thread names.
- ipc[_*]: Generated-documentation (Reference, guided Manual) + example-program gaps.
- ipc_*: The (very few) blocking APIs' behavior on signal = inconsistent, some uninterruptible.
- ipc: unit_test + TSAN: TSAN lock count limit reached in some tests: some run OK separately; 1 never runs OK; make the latter run OK; investigate further.
- ipc: TSAN/esp clang-17 + some transport_test and ~1 unit_test: strange output/hang/pause ("PLEASE submit a bug report").
- ipc: TSAN: transport_test exercise-mode heap-submode one-time prob: race: epoll_reactor::deregister_descriptor() vs eventfd_select_interrupter::open_descriptors()
- ipc + likely flow: CI pipeline: Sporadic/awful TSAN+ASAN runtime instal-fail due to "unexpected memory mapping 0x...-0x...". HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from ipc.