Skip to content

Locks and the noval Variable Lock based on Pointers now functions starts with Cpx_ instead

Compare
Choose a tag to compare
@solariun solariun released this 11 Jul 10:47
· 4 commits to master since this release

2.7.0 Is Here

With a lot of exiting improvements

  • NOW it has MIT license more free more options.

  • All functions now starts with Cpx_ instead of CorePartition_.

  • There will be no more SetStackOverflow, now just by using Cpx_StackOverflowHandler

  • Full static implementation is now possible, processor, like old pics with no malloc now can fully benefit from it. Although, setjmp and longjmp still a requirement.

  • Full Lock and SharedLock implementation, while locked, the thread is in a "kernel lock state" and can only be resumed uppon proper unlocking from other threads
    Cpx_Lock, Cpx_SharedLock, Cpx_Unlock, Cpx_SharedUnlock.

  • Introducing VariableLock, based on Pointer, with that novel approach, any variable, can be used to notify (one or all) other threads. Alternatively transmitting a payload with Attribute and Value is possible.

  • DeadLock is now detectable, join will leave if that condition arose and you can check with Cpx_GetNumberOfActiveThreads, it is returns zero a deadlock happened.

  • Dropping support for secure threads, I will implement a more modular due to the next version.

  • Dropping support to Preemptive Threads, you can still use the core with timer to trigger it, but, Locks are not tuned for that, be advised.

Working in progress

 IPCs for interrupt request time. Soon a 2.7.1 will be released.