From 866eb9c73a6b94343ff758d2825cbfcc8bac4e5d Mon Sep 17 00:00:00 2001 From: cxl Date: Tue, 3 May 2016 09:02:58 +0000 Subject: [PATCH] .reference git-svn-id: svn://ultimatepp.org/upp/trunk@9779 f0d560ea-af0d-0410-9eb7-867de7ffcac7 --- reference/BasicAlgo/BasicAlgo.cpp | 2 +- .../ConditionVariable/ConditionVariable.upp | 5 + reference/Cv/Cv.cpp | 105 ------------------ reference/Cv/Cv.upp | 10 -- reference/Cv/init | 4 - reference/SocketServer/SocketServer.upp | 3 +- reference/SocketServer/init | 1 - 7 files changed, 7 insertions(+), 123 deletions(-) delete mode 100644 reference/Cv/Cv.cpp delete mode 100644 reference/Cv/Cv.upp delete mode 100644 reference/Cv/init diff --git a/reference/BasicAlgo/BasicAlgo.cpp b/reference/BasicAlgo/BasicAlgo.cpp index 7b27ea081..e00b8fe4d 100644 --- a/reference/BasicAlgo/BasicAlgo.cpp +++ b/reference/BasicAlgo/BasicAlgo.cpp @@ -29,8 +29,8 @@ CONSOLE_APP_MAIN{ DUMP(Min(empty, -99999)); DUMP(Sum(data)); - DUMP(FindMax(data, 3, 2)); DUMP(FindMax(data)); + DUMP(FindMax(SubRange(data, 3, 2))); DUMP(Max(data)); // DUMP(Max(empty)); // This is undefined (fails in ASSERT) DUMP(Max(empty, 99999)); diff --git a/reference/ConditionVariable/ConditionVariable.upp b/reference/ConditionVariable/ConditionVariable.upp index 67472739e..f3f7cf2ac 100644 --- a/reference/ConditionVariable/ConditionVariable.upp +++ b/reference/ConditionVariable/ConditionVariable.upp @@ -1,9 +1,14 @@ +description "ConditionVariable synchronization primitive\377"; + uses + Core, Core; file ConditionVariable.cpp; mainconfig + "" = "MT", + "" = "MT TESTXPCV", "" = "MT"; diff --git a/reference/Cv/Cv.cpp b/reference/Cv/Cv.cpp deleted file mode 100644 index 6ad2472e5..000000000 --- a/reference/Cv/Cv.cpp +++ /dev/null @@ -1,105 +0,0 @@ -#include - -using namespace Upp; - -#define BUFFER_SIZE 10 -#define PRODUCER_SLEEP_TIME_MS 500 -#define CONSUMER_SLEEP_TIME_MS 2000 - -int ItemBuffer[BUFFER_SIZE]; - -int QueueSize; -int QueueStartOffset; - -int TotalItemsProduced; -int TotalItemsConsumed; - -ConditionVariable ItemBufferNotEmpty; -ConditionVariable ItemBufferNotFull; -Mutex ItemBufferLock; - -BOOL StopRequested; - -void ProducerThread() -{ - LOG("Starting producer thread"); - for(;;) { - Sleep(Random(PRODUCER_SLEEP_TIME_MS)); - { - Mutex::Lock __(ItemBufferLock); - - while(QueueSize == BUFFER_SIZE && !StopRequested) - ItemBufferNotFull.Wait(ItemBufferLock); - - if(StopRequested) - break; - - int Item = Random(1000); - - ItemBuffer[(QueueStartOffset + QueueSize) % BUFFER_SIZE] = Item; - QueueSize++; - TotalItemsProduced++; - - LOG("Producer item " << Item << ", queue size " << QueueSize); - } - ItemBufferNotEmpty.Signal(); - } - LOG("Producer exiting"); -} - -void ConsumerThread(int id) -{ - LOG("Starting consumer thread " << id); - for(;;) - { - { - Mutex::Lock __(ItemBufferLock); - - while(QueueSize == 0 && !StopRequested) - ItemBufferNotEmpty.Wait(ItemBufferLock); - - if(StopRequested && QueueSize == 0) - break; - - LONG Item = ItemBuffer[QueueStartOffset]; - QueueSize--; - QueueStartOffset++; - TotalItemsConsumed++; - - if(QueueStartOffset == BUFFER_SIZE) - QueueStartOffset = 0; - - LOG("Consumer " << id << ", item " << Item << ", queue size " << QueueSize); - } - - ItemBufferNotFull.Signal(); - Sleep(Random(CONSUMER_SLEEP_TIME_MS)); - } - - LOG("Consumer exiting"); -} - - -CONSOLE_APP_MAIN -{ - StdLogSetup(LOG_COUT|LOG_FILE); - Thread producer, consumer[2]; - producer.Run([] { ProducerThread(); }); - for(int i = 0; i < 2; i++) - consumer[i].Run([=] { ConsumerThread(i); }); - - LOG("Press enter to stop..."); - ReadStdIn(); - - StopRequested = TRUE; - - ItemBufferNotFull.Broadcast(); - ItemBufferNotEmpty.Broadcast(); - - producer.Wait(); - for(int i = 0; i < 2; i++) - consumer[i].Wait(); - - LOG("TotalItemsProduced: " << TotalItemsProduced << - ", TotalItemsConsumed: " << TotalItemsConsumed); -} diff --git a/reference/Cv/Cv.upp b/reference/Cv/Cv.upp deleted file mode 100644 index bd9b0e2eb..000000000 --- a/reference/Cv/Cv.upp +++ /dev/null @@ -1,10 +0,0 @@ -uses - Core; - -file - Cv.cpp; - -mainconfig - "" = "MT", - "" = "MT TESTXPCV"; - diff --git a/reference/Cv/init b/reference/Cv/init deleted file mode 100644 index 759d82ae3..000000000 --- a/reference/Cv/init +++ /dev/null @@ -1,4 +0,0 @@ -#ifndef _Cv_icpp_init_stub -#define _Cv_icpp_init_stub -#include "Core/init" -#endif diff --git a/reference/SocketServer/SocketServer.upp b/reference/SocketServer/SocketServer.upp index 2616342c5..0db735fbd 100644 --- a/reference/SocketServer/SocketServer.upp +++ b/reference/SocketServer/SocketServer.upp @@ -1,8 +1,7 @@ description "Example of using server Socket - its counterpart is SocketClient\377"; uses - Core, - Web; + Core; file SocketServer.cpp; diff --git a/reference/SocketServer/init b/reference/SocketServer/init index 6cefabdd0..74072ac88 100644 --- a/reference/SocketServer/init +++ b/reference/SocketServer/init @@ -1,5 +1,4 @@ #ifndef _SocketServer_icpp_init_stub #define _SocketServer_icpp_init_stub #include "Core/init" -#include "Web/init" #endif