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
Go from Code to Production URL in Seconds Icon
Go from Code to Production URL in Seconds

Cloud Run deploys apps in any language instantly. Scales to zero. Pay only when code runs.

Skip the Kubernetes configs. Cloud Run handles HTTPS, scaling, and infrastructure automatically. Two million requests free per month.
Try it 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