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
MongoDB Atlas runs apps anywhere Icon
MongoDB Atlas runs apps anywhere

Deploy in 115+ regions with the modern database for every enterprise.

MongoDB Atlas gives you the freedom to build and run modern applications anywhere—across AWS, Azure, and Google Cloud. With global availability in over 115 regions, Atlas lets you deploy close to your users, meet compliance needs, and scale with confidence across any geography.
Start 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