ObjFW  Diff

Differences From Artifact [743b892159]:

  • File src/runtime/selector.m — part of check-in [0ede45ce93] at 2013-11-26 10:25:33 on branch trunk — runtime: Free runtime created selectors at exit.

    When a selector was created using sel_registerName(), it was not free'd
    on exit, as selectors not created using sel_registerName did not need
    any freeing. This adds a list of selectors created using
    sel_registerName() and frees them on exit.

    This is only relevant if objc_exit() is used to free all memory occupied
    by the runtime. objc_exit() is only useful for debugging memory leaks,
    so there was no real world effect. (user: js, size: 3298) [annotate] [blame] [check-ins using]

To Artifact [95506f87f9]:


124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
bool
sel_isEqual(SEL sel1, SEL sel2)
{
	return (sel1->uid == sel2->uid);
}

void
objc_free_all_selectors(void)
{
	objc_hashtable_free(selectors);
	objc_sparsearray_free(selector_names);

	if (free_list != NULL) {
		size_t i;








|







124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
bool
sel_isEqual(SEL sel1, SEL sel2)
{
	return (sel1->uid == sel2->uid);
}

void
objc_unregister_all_selectors(void)
{
	objc_hashtable_free(selectors);
	objc_sparsearray_free(selector_names);

	if (free_list != NULL) {
		size_t i;