From 5e974f5b9357ed9492d55f4e07a1104573880885 Mon Sep 17 00:00:00 2001 From: cxl Date: Sun, 1 Oct 2017 11:47:50 +0000 Subject: [PATCH] .reference git-svn-id: svn://ultimatepp.org/upp/trunk@11343 f0d560ea-af0d-0410-9eb7-867de7ffcac7 --- reference/CoWorkCancel/CoWorkCancel.cpp | 22 +++++++++++++++++++ reference/CoWorkCancel/CoWorkCancel.upp | 11 ++++++++++ .../CoWorkExceptions/CoWorkExceptions.cpp | 16 ++++++++++++++ .../CoWorkExceptions/CoWorkExceptions.upp | 11 ++++++++++ 4 files changed, 60 insertions(+) create mode 100644 reference/CoWorkCancel/CoWorkCancel.cpp create mode 100644 reference/CoWorkCancel/CoWorkCancel.upp create mode 100644 reference/CoWorkExceptions/CoWorkExceptions.cpp create mode 100644 reference/CoWorkExceptions/CoWorkExceptions.upp diff --git a/reference/CoWorkCancel/CoWorkCancel.cpp b/reference/CoWorkCancel/CoWorkCancel.cpp new file mode 100644 index 000000000..709ff75eb --- /dev/null +++ b/reference/CoWorkCancel/CoWorkCancel.cpp @@ -0,0 +1,22 @@ +#include + +using namespace Upp; + +CONSOLE_APP_MAIN +{ + StdLogSetup(LOG_COUT|LOG_FILE); + + CoWork co; + for(int i = 0; i < 50; i++) + co & [] { + for(;;) { + if(CoWork::IsCanceled()) { + LOG("CoWork was canceled"); + return; + } + Sleep(1); + } + }; + Sleep(100); + co.Cancel(); +} diff --git a/reference/CoWorkCancel/CoWorkCancel.upp b/reference/CoWorkCancel/CoWorkCancel.upp new file mode 100644 index 000000000..f30bb788f --- /dev/null +++ b/reference/CoWorkCancel/CoWorkCancel.upp @@ -0,0 +1,11 @@ +description "Demonstrates CoWork Cancel\377"; + +uses + Core; + +file + CoWorkCancel.cpp; + +mainconfig + "" = ""; + diff --git a/reference/CoWorkExceptions/CoWorkExceptions.cpp b/reference/CoWorkExceptions/CoWorkExceptions.cpp new file mode 100644 index 000000000..11118ce86 --- /dev/null +++ b/reference/CoWorkExceptions/CoWorkExceptions.cpp @@ -0,0 +1,16 @@ +#include + +using namespace Upp; + +CONSOLE_APP_MAIN +{ + StdLogSetup(LOG_COUT|LOG_FILE); + + try { + CoWork co; + co & [] { throw "Worker exception"; }; + } + catch(const char *s) { + LOG("Caught: " << s); + } +} diff --git a/reference/CoWorkExceptions/CoWorkExceptions.upp b/reference/CoWorkExceptions/CoWorkExceptions.upp new file mode 100644 index 000000000..d5d867ad8 --- /dev/null +++ b/reference/CoWorkExceptions/CoWorkExceptions.upp @@ -0,0 +1,11 @@ +description "Demonstrates of worker thread exception handling\377"; + +uses + Core; + +file + CoWorkExceptions.cpp; + +mainconfig + "" = ""; +