Skip to content

Make cancellation API cooperative-only - #1

Merged
valeksan merged 2 commits into
mainfrom
agent/cooperative-task-lifecycle
Jul 21, 2026
Merged

Make cancellation API cooperative-only#1
valeksan merged 2 commits into
mainfrom
agent/cooperative-task-lifecycle

Conversation

@valeksan

@valeksan valeksan commented Jul 21, 2026

Copy link
Copy Markdown
Owner

Что изменено

  • Добавлены TaskContext, requestStopAll(), waitForIdle(timeout) и shutdown(timeout).
  • Удалены native force-termination API, platform-specific headers и CMake option; версия проекта повышена до 1.0.0.
  • Очередные задачи теперь публикуют точное событие cancelled-before-start вместо terminated; Qt adapter и GUI обновлены.

Зачем

Контракт API теперь соответствует возможностям std::thread: отмена кооперативна, а timeout остаётся диагностикой, не признаком завершения потока.

Проверки

  • std-only CMake-сборка и ctest;
  • ASan/UBSan-сборка и ctest;
  • Qt adapter, GUI-сборка и ctest;
  • git diff --check.

@valeksan valeksan changed the title Add cooperative task lifecycle APIs Make cancellation API cooperative-only Jul 21, 2026
@valeksan
valeksan marked this pull request as ready for review July 21, 2026 11:17
@valeksan
valeksan merged commit 100ad1a into main Jul 21, 2026
1 of 5 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant