Skip to content

Commit

Permalink
README: Update.
Browse files Browse the repository at this point in the history
  • Loading branch information
heiher committed Feb 14, 2025
1 parent 68a598c commit e725d28
Showing 1 changed file with 13 additions and 3 deletions.
16 changes: 13 additions & 3 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,9 +2,9 @@

[![status](https://github.com/heiher/hev-task-system/actions/workflows/build.yaml/badge.svg?branch=master&event=push)](https://github.com/heiher/hev-task-system)

HevTaskSystem is a simple, lightweight multi-task system (coroutines) for Unix.
HevTaskSystem is a simple, lightweight multi-task system (coroutines).

The task system is executed within a Unix process/thread. In task system, you
The task system is executed within a native process/thread. In task system, you
can create many tasks and attach them to the task system. When a task yields or
is blocked by I/O, the scheduler will pick a suitable task from running list and
switch to it. Memory space, file descriptors, and other resources are shared among
Expand All @@ -23,7 +23,7 @@ and perform I/O operations in synchronized mode.
* Slice-based memory allocator.
* Call on new stack.
* Multi-thread support.
* Multi-platform support. (Linux/BSD/macOS)
* Multi-platform support. (Linux/BSD/macOS/Windows)

## How to Build

Expand Down Expand Up @@ -74,6 +74,16 @@ cd hev-task-system
./build-apple.sh
```

### Windows (MSYS2)

```bash
export MSYS=winsymlinks:native
git clone https://gitlab.com/hev/hev-task-system
cd hev-task-system
# depends on mingw-w64-clang-x86_64-libkqueue
make CFLAGS="-I/clang64/include/kqueue" LFLAGS="-L/clang64/lib -lkqueue"
```

## Demos

1. [simple](https://gitlab.com/hev/hev-task-system/blob/master/apps/simple.c)
Expand Down

0 comments on commit e725d28

Please sign in to comment.