diff --git a/wiki/support_library.html b/wiki/support_library.html index a8f456a93..a3a1f8441 100644 --- a/wiki/support_library.html +++ b/wiki/support_library.html @@ -767,6 +767,16 @@ Error: #f88
[[SupportLibrary]]
! Proposal:
+We need some centralized way to handle errors and doing hard aborts.
+
+I started using C-string addresses as errors for now, I think that convinient and unique until we find something better. (Actually this might be even kept in a library, alternatively maybe someone wants to investigate libcomerr)
+
+The next point is allocation failures, these are possible by C/C++ standard but don't actually happen anymore in linux (except in few rare cases). Instead gracefully handling this errors i'll add a {{{CINELERRA_DIE(message)}}} macro to this library later. This macro will just do (NoBug) logging and then doing a hard abort. Macro, because we want to preserve file/line location for logging.
+
+
+/***
|Name|FullScreenPlugin|
@@ -1150,11 +1160,12 @@ config.formatters.push( {
} )
//}}}
''[[Cinelerra3|index.html]]'' SupportLibrary [[Threads and Locking]] [[Plugins]] +[[ErrorHandling]] [[OS Services]] <<fullscreen>>@@ -2464,11 +2475,12 @@ h1,h2,h3,h4,h5,h6 { /*}}}*/
The Support Library contains all tools we need at various places but by themself don't defines a subsystem on their own. These things are: * [[a Plugin loader|Plugins]] +* [[ErrorHandling]] * a wraper for POSIX Threads ** Thread creation joining and canceling ** Locking primitives like Condition variables and Mutexes