ZM is a C library to handle continuations (coroutine, exception, green thread) with finite state machines.

The library is written in C99 without external dependecy or machine-specific code and can be compiled in ansi-c or ansi-c++ with the minal effort to define two unsigned int type
(uint8_t and uint32_t).

Features

  • task: instance green thread or coroutine
  • subtask: task can instance subtask as thread can use function
  • error-exception: exception can be raised and catched between subtasks (stack unwinding)
  • continue-exception: allow to resume the execution in raise point (no stack unwinding)
  • virtual event: lock in waiting event mode one or more task
  • deterministic: library use only finite state machine as control flow
  • portable: no architecture specific assembly code
  • no-setjmp: library don't use any non-local-jumps functions (setjump, ucontext...)
  • self-contained: no external or OS specific libraries are required

Project Activity

See All Activity >

Categories

Libraries

License

BSD License

Follow ZM

ZM Web Site

Other Useful Business Software
Level Up Your Cyber Defense with External Threat Management Icon
Level Up Your Cyber Defense with External Threat Management

See every risk before it hits. From exposed data to dark web chatter. All in one unified view.

Move beyond alerts. Gain full visibility, context, and control over your external attack surface to stay ahead of every threat.
Try for Free
Rate This Project
Login To Rate This Project

User Reviews

Be the first to post a review of ZM!

Additional Project Details

Programming Language

C

Related Categories

C Libraries

Registered

2017-02-14