17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
|
#import "ObjFWRT.h"
#import "private.h"
void
__objc_exec_class(struct objc_module *module)
{
objc_global_mutex_lock();
objc_register_all_selectors(module->symtab);
objc_register_all_classes(module->symtab);
objc_register_all_categories(module->symtab);
objc_init_static_instances(module->symtab);
objc_global_mutex_unlock();
}
void
objc_exit(void)
{
objc_global_mutex_lock();
objc_unregister_all_categories();
objc_unregister_all_classes();
objc_unregister_all_selectors();
objc_forget_pending_static_instances();
objc_dtable_cleanup();
objc_global_mutex_unlock();
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
|
#import "ObjFWRT.h"
#import "private.h"
void
__objc_exec_class(struct objc_module *module)
{
objc_globalMutex_lock();
objc_registerAllSelectors(module->symtab);
objc_registerAllClasses(module->symtab);
objc_registerAllCategories(module->symtab);
objc_initStaticInstances(module->symtab);
objc_globalMutex_unlock();
}
void
objc_deinit(void)
{
objc_globalMutex_lock();
objc_unregisterAllCategories();
objc_unregisterAllClasses();
objc_unregisterAllSelectors();
objc_forgetPendingStaticInstances();
objc_dtable_cleanup();
objc_globalMutex_unlock();
}
|