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
$300 in Free Credit Towards Top Cloud Services Icon
$300 in Free Credit Towards Top Cloud Services

Build VMs, containers, AI, databases, storage—all in one place.

Start your project in minutes. After credits run out, 20+ products include free monthly usage. Only pay when you're ready to scale.
Get Started
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