pureikyubu/SRC/Common
2020-08-09 22:49:43 +03:00
..
Scripts Changed libraries to SHARED 2020-08-09 22:49:43 +03:00
ByteSwap.cpp More portable code 2020-08-08 20:10:33 +03:00
ByteSwap.h Thread Workers instead ThreadProc 2020-08-09 16:28:22 +03:00
File.cpp More linux 2020-08-09 21:05:38 +03:00
File.h More linux 2020-08-09 21:05:38 +03:00
Jdi.cpp Built target DolwinPlayground 2020-08-09 20:41:04 +03:00
Jdi.h Built target DolwinPlayground 2020-08-09 20:41:04 +03:00
Json.cpp Cmake build WIP 2020-08-08 10:30:45 +03:00
Json.h Eliminated TCHAR from DolwinEmu core 2020-08-06 22:47:44 +03:00
pch.cpp Common.lib and project tuning 2020-04-11 00:09:28 +03:00
pch.h More linux 2020-08-09 21:05:38 +03:00
Readme.md Thread Workers instead ThreadProc 2020-08-09 16:28:22 +03:00
Spinlock.cpp First wave refactoring (remove TCHAR) 2020-08-06 22:18:38 +03:00
Spinlock.h First wave refactoring (remove TCHAR) 2020-08-06 22:18:38 +03:00
String.cpp First wave refactoring (remove TCHAR) 2020-08-06 22:18:38 +03:00
String.h First wave refactoring (remove TCHAR) 2020-08-06 22:18:38 +03:00
Thread.h Threads on Linux 2020-08-09 17:59:07 +03:00
ThreadLinux.cpp Threads on Linux 2020-08-09 17:59:07 +03:00
ThreadWindows.cpp Updated VS2015 projects 2020-08-09 18:25:11 +03:00

Common

This section contains common API that have almost atomic significance for all projects.

  • Json: Json serialization engine. Json is used to store emulator settings, as well as for the JDI system (Json Debug Interface).
  • Spinlock: Mutually exclusive access synchronization.
  • Thread: Portable threads.
  • Jdi: Json Debug Interface. More information can be found in JsonDebugInteface.md
  • File: File utilities
  • String: String utilities
  • ByteSwap: Portable byte-swap API

Note on Threads

Dolwin uses Suspend/Resume methods as control primitives.

The thread procedure is called Worker. Unlike conventional implementations, it does not contain an infinite loop, but simply makes one iteration of the thread. The infinite loop is implemented above (in Common/Thread.cpp) to support the Suspend/Resume mechanism, where it is not supported by the native thread implementation (for example, in pthreads).