Skip to content
Snippets Groups Projects
  1. Apr 06, 2021
  2. Apr 02, 2021
  3. Mar 23, 2021
    • Florian Fischer's avatar
      [Debug] s/WDBG/DBG and always terminate a log messager with a new line · 28028fac
      Florian Fischer authored
      Rename the macro used to build up the debug message, to better reflect
      its generality.
      It can be used anywhere to build a string with C++ stream formatting.
      std::string s = EMPER_BUILD_STR("foo = " << 1 " , bar = " << bar(42));
      
      Since WDBG was the only log macro without a terminating newline, which
      was in fact broken according to flow, we can remove it and the new line
      handling code in the LOG macro.
      28028fac
  4. Mar 17, 2021
    • Florian Fischer's avatar
      [EchoClient] make linked futures optional · ae81b029
      Florian Fischer authored
      While we haven't figured out why the version using linked futures breaks
      we can use a simpler implementation which calls submitAndWait on both futures
      separately
      ae81b029
    • Florian Fischer's avatar
      [EchoCLient] use a thread to terminate · d87acb25
      Florian Fischer authored
      First of all this replaces the call to sleep(execution_seconds)
      which calls POSIX sleep(3) which is definitely not what we want here
      blocking one worker thread.
      
      Using a std::thread for termination was chosen because we assume it
      will be more precise than the emper native emper::sleep.
      d87acb25
  5. Mar 11, 2021
  6. Mar 08, 2021
  7. Feb 22, 2021
  8. Feb 08, 2021
  9. Feb 06, 2021
  10. Feb 05, 2021
  11. Feb 03, 2021
  12. Feb 02, 2021
  13. Jan 26, 2021
  14. Dec 10, 2020
  15. Dec 09, 2020
    • Florian Schmaus's avatar
      Add emper::getFullVersion() · 5b194979
      Florian Schmaus authored
      This also solves a dependency declaration issue in WorkerSleepExample:
      Prior to this change, a clean build could potentially result in
      
      ninja  -C build
      ninja: Entering directory `build'
      [13/57] Compiling C++ object apps/worker_sleep_example.p/WorkerSleepExample.cpp.o
      FAILED: apps/worker_sleep_example.p/WorkerSleepExample.cpp.o
      ccache c++ -Iapps/worker_sleep_example.p -Iapps -I../apps -Iemper -I../emper -Iemper/include -I../emper/include -fdiagnostics-color=always -pipe -D_FILE_OFFSET_BITS=64 -Wall -Winvalid-pch -Wnon-virtual-dtor -Wextra -Wpedantic -Werror -std=c++17 -O2 -g -Wno-non-virtual-dtor -MD -MQ apps/worker_sleep_example.p/WorkerSleepExample.cpp.o -MF apps/worker_sleep_example.p/WorkerSleepExample.cpp.o.d -o apps/worker_sleep_example.p/WorkerSleepExample.cpp.o -c ../apps/WorkerSleepExample.cpp
      ../apps/WorkerSleepExample.cpp:12:10: fatal error: emper-version.h: No such file or directory
         12 | #include "emper-version.h"        // for EMPER_FULL_VERSION
            |          ^~~~~~~~~~~~~~~~~
      compilation terminated.
      [17/57] Generating emper-version.h with a custom command
      ninja: build stopped: subcommand failed.
      make: *** [Makefile:23: build] Error 1
      
      because worker_sleep_example_exec should have also depend on
      emper_version_h. However this is obviously error prone, as users
      easily forget to add this dependency. Instead we add
      emper::getFullVersion() which is part of the EMPER shared object (not
      just of a single header).
      5b194979
    • Florian Schmaus's avatar
      Add Runtime::scheduleFromAnywhere(), remove mainThreadQueue · 0d7248ab
      Florian Schmaus authored
      In debug builds, the schedule() method is now guarded by an assert(),
      as due to this change, the schedule() method will no longer work from
      everywhere.
      
      This also improves the worker sleep method.
      0d7248ab
  16. Dec 07, 2020
  17. Nov 10, 2020
  18. Nov 05, 2020
  19. Jul 31, 2020
  20. Jun 23, 2017
  21. Sep 08, 2016
Loading