Added debugger notifications when images are registered/unregistered.
In the first case this is probably too early, since the image is not really loaded at that time by the loader. We should probably introduce a syscall the loader can invoke for that purpose. git-svn-id: file:///srv/svn/repos/haiku/trunk/current@11475 a95241bf-73f2-0310-859d-f6bbb57e9c96
This commit is contained in:
parent
e988d66022
commit
43ad09219b
@ -12,6 +12,7 @@
|
|||||||
#include <lock.h>
|
#include <lock.h>
|
||||||
#include <thread.h>
|
#include <thread.h>
|
||||||
#include <team.h>
|
#include <team.h>
|
||||||
|
#include <user_debugger.h>
|
||||||
|
|
||||||
#include <malloc.h>
|
#include <malloc.h>
|
||||||
#include <string.h>
|
#include <string.h>
|
||||||
@ -58,6 +59,13 @@ register_image(struct team *team, image_info *_info, size_t size)
|
|||||||
|
|
||||||
mutex_unlock(&sImageMutex);
|
mutex_unlock(&sImageMutex);
|
||||||
|
|
||||||
|
// notify the debugger
|
||||||
|
_info->id = id;
|
||||||
|
user_debug_image_created(_info);
|
||||||
|
// ToDo: Is this too early? Not even the loader knows about the
|
||||||
|
// image (ID) yet. We should probably introduce another syscall, the
|
||||||
|
// loader can invoke just before calling the image's init function.
|
||||||
|
|
||||||
TRACE(("register_image(team = %p, image id = %ld, image = %p\n", team, id, image));
|
TRACE(("register_image(team = %p, image id = %ld, image = %p\n", team, id, image));
|
||||||
return id;
|
return id;
|
||||||
}
|
}
|
||||||
@ -77,7 +85,6 @@ unregister_image(struct team *team, image_id id)
|
|||||||
while ((image = list_get_next_item(&team->image_list, image)) != NULL) {
|
while ((image = list_get_next_item(&team->image_list, image)) != NULL) {
|
||||||
if (image->info.id == id) {
|
if (image->info.id == id) {
|
||||||
list_remove_link(image);
|
list_remove_link(image);
|
||||||
free(image);
|
|
||||||
status = B_OK;
|
status = B_OK;
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
@ -85,6 +92,13 @@ unregister_image(struct team *team, image_id id)
|
|||||||
|
|
||||||
mutex_unlock(&sImageMutex);
|
mutex_unlock(&sImageMutex);
|
||||||
|
|
||||||
|
if (status == B_OK) {
|
||||||
|
// notify the debugger
|
||||||
|
user_debug_image_deleted(&image->info);
|
||||||
|
|
||||||
|
free(image);
|
||||||
|
}
|
||||||
|
|
||||||
return status;
|
return status;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user