24 #include <aspect/inifins/aspect_provider.h>
25 #include <aspect/aspect_provider.h>
26 #include <aspect/manager.h>
44 AspectProviderAspectIniFin::AspectProviderAspectIniFin(
AspectManager *manager)
47 __aspect_manager = manager;
57 if (provider_thread == NULL) {
59 "AspectProviderAspect, but RTTI says it "
60 "has not. ", thread->
name());
73 if (p_thr == NULL)
return true;
85 if (provider_thread == NULL) {
87 "AspectProviderAspect, but RTTI says it "
88 "has not. ", thread->
name());
AspectIniFin * aspect_provider_inifin() const
Get initializer/finalizer for the provided aspect.
virtual void finalize(Thread *thread)
Finalize thread.
Thread class encapsulation of pthreads.
void register_inifin(AspectIniFin *inifin)
Register initializer/finalizer.
const char * aspect_provider_name() const
Get name of the provided aspect.
void unregister_inifin(AspectIniFin *inifin)
Unregister initializer/finalizer.
Thread cannot be initialized.
virtual void init(Thread *thread)
Initialize thread.
Aspect and aspect initializer/finalizer manager.
bool has_threads_for_aspect(const char *aspect_name)
Check if threads for a particular aspect still exist.
const char * name() const
Get name of thread.
Thread aspect provide a new aspect.
Thread cannot be finalized.
virtual bool prepare_finalize(Thread *thread)
Default finalize preparation.
Aspect initializer/finalizer base class.