theKernel 10.0
Loading...
Searching...
No Matches
MkRuntimeC_C_API

MkRuntimeC - The class known as mkrt or runtime is the main tclmkkernel application environment … More...

+ Collaboration diagram for MkRuntimeC_C_API:

Topics

 MkRtExtC
 MkRtExtS - extend the MkRuntimeC with a library specific feature …
 
 MkRuntimeC_Class_C_API
 MkRuntimeC - define the class …
 
 MkRuntimeC_Interface_C_API
 MkRuntimeC - The MkRuntimeRLS, a thread-local storage for application-global data …
 
 MkRuntimeC_Config_C_API
 MkRuntimeC - various functions to configure the MkRuntimeRLS (only C) …
 
 MkRuntimeC_Info_C_API
 MkRuntimeC - various functions to print information about the rt
 

Data Structures

struct  MkThreadDataS
 
struct  MkRuntimeS
 The MkRuntimeS provide a per-thread environment for tclmkkernelMore...
 

Macros

#define MkDbgRt_1(c)
 
#define MkDbgRt()
 
#define MkDbgRtChkX(x)
 

Typedefs

typedef struct MkThreadDataS MkThreadDataS
 

Variables

bool MkRuntimeSysPipeHandlerUse
 block SIGPIPE ignore handlern default=true, Java require this
 

Detailed Description

MkRuntimeC - The class known as mkrt or runtime is the main tclmkkernel application environment …

The runtime is automatically created as thread-local-storage at startup, so that each new thread receives a thread-specific runtime. Each instance of the thread has a link to the runtime it was created in:

runtime-separation
  • The runtime and also the runtime-related-thread in the Programming-Language-Micro-Kernel (PLMK) are treated as an independent-process without any process overhead.
  • The runtime is completly independent of any other runtime and can also be used in a separate process without changing the code.
  • The technology behind the so-called runtime-separation is the tclmkkernel technology.
the runtime provide the following features
THREAD ENABLED LIBRARY
The thread-enabled-libry is a library compiled with the --enable-thread configure option of Nhi1Config
RUNTIME DEFAULT
The Programming-Language-Micro-Kernel (PLMK) always has one runtime per thread called the runtime-default. This runtime is created at MkSetup and destroyed at MkCleanup.
The runtime-enabled-function always get the runtime-default as first argument in a doc_mk_tcl_thread-enabled-library.

Macro Definition Documentation

◆ MkDbgRt

#define MkDbgRt ( )
Value:
MkDbgRt_1(MK_COLOR_PURPLE)
#define MkDbgRt_1(c)

Definition at line 12027 of file LibMkKernel_mk.h.

◆ MkDbgRt_1

#define MkDbgRt_1 ( c)
Value:
mk_dbg_color_ln(c,"mkrt<%p>, MkRT<%p>", mkrt, MkRT)
#define MkRT

Definition at line 12026 of file LibMkKernel_mk.h.

◆ MkDbgRtChkX

#define MkDbgRtChkX ( x)
Value:
(MkRT_X(x)==MkRT?"ok":"wrong")
#define MkRT_X(x)

Definition at line 12028 of file LibMkKernel_mk.h.

Typedef Documentation

◆ MkThreadDataS

typedef struct MkThreadDataS MkThreadDataS

Variable Documentation

◆ MkRuntimeSysPipeHandlerUse

bool MkRuntimeSysPipeHandlerUse
extern

block SIGPIPE ignore handlern default=true, Java require this