Comments (11)
Are you able to run the examples with enkiTS, and do you get the same results from valgrind? If not, this may be an usage issue so if I could take a look at the codec code I might be able to help.
from enkits.
I can replicate a segfault 11 on OSX 10.11.6 (El Capitan), which is the latest I can access for OSX as I don't have a new enough machine for 10.13 (High Sierra). I'm looking into this now but it might take a few days, particularly as my OSX machine is not very stable at the moment.
from enkits.
So it looks like OSX have deprecated mach semaphores, as they worked under previous versions but now I've updated OSX to a more recent version they don't.
I'll try switching to OSX dispatch semaphores, if this doesn't work I may need to switch to named BSD semaphores and use a unique name approach.
from enkits.
Thanks! C++20 finally provides a semaphore, BTW 😊
from enkits.
Side note: this would have been caught by CI builds. If you're interested, I can look into setting up Travis and Appveyor CI for the project
from enkits.
I'm already using Travis Cl for OSX, and this wasn't caught by my Cl builds since it's a runtime error rather than a build one. I need to create a simple test which can be run on the build server, and add that to the matrix.
from enkits.
Great to have CI, yes, I guess next step would be a few unit tests.
from enkits.
btw, for my testing, I installed OSX High Sierra VM on Ubuntu host using qemu:
https://github.com/kholia/OSX-KVM
Took about an hour to get this working.
from enkits.
I might be able to do this by running a VM on my Mac, as I believe this is permitted by the OSX license. However my Mac's not very powerful nor very stable so this may not be a great experience, but it could suffice.
from enkits.
The new implementation uses dispatch semaphores, which appears to be the approach used by other open source utilities such as boost.
This requires OSX 10.6+ or iOS 4+ so if any developers need support prior to that I might reinstate mach semaphores but would need someone to test as I don't have earlier versions to check the macro tests work.
At some point I'll add a simple unit test which should catch OSX changes to API behaviour.
from enkits.
Thanks!! Works like a charm.
from enkits.
Related Issues (20)
- Macro redefinition for WIN32_LEAN_AND_MEAN HOT 1
- Conversion warnings HOT 1
- Wrong asserts used HOT 1
- Warning regarding padding with VS 2019 16.11.7 HOT 3
- Using TaskScheduler across DLLs HOT 3
- Compile warnings related to std::is_pod HOT 2
- parallel_for label:question HOT 4
- adding enkiTS as a static library to another project HOT 2
- Running tasks via WaitForTask(NULL) HOT 2
- Scheduling tasks with high priority after-the-fact HOT 5
- Crash when executing a small dependency graph in tight loop HOT 4
- Linking with C HOT 1
- Q: Manual partitioning HOT 6
- Add Github Actions HOT 1
- Feature Request: Shutdown HOT 7
- Make gtl_threadNum invalid by default. HOT 9
- Run all tasks of given priority (or higher) HOT 3
- Deadlock in SemaphoreWait (macOS) HOT 16
- More platforms supported in enki::GetNumHardwareThreads HOT 5
- Stuttering on Intel hybrid CPUs HOT 7
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 enkits.