Next questions
Martin Fuchs <[email protected]> Wed, 12 Oct 2005 17:08:52 +0200
| Newsgroups | gmane.comp.java.vm.sablevm.devel |
|---|---|
| Message-ID | <[email protected]> |
Hi all
Thank you for your quick reply Etienne!
1) What's exactly a 'native_global' in sablevm?
2) I try to implement the JDWP command 1/5 (VirtualMachine Command Set /
TopLevelThreadGroups).
Because InelliJ IDEA ask for it. I'll implement it in the same style as
CMD_THREAD_GROUP_REFERENCE.
Sending only two group id's 1 for system and 2 for user. So I didn't
need GetTopThreadGroups in JVMDI.
Is that ok like that?
3) I need an explanation about this in jni.h:
/* opaque types */
typedef struct _jobject *jobject;
Is it right, that 'jobject' will be replaced with 'struct _jobject *'?
So _jobject needs to be somewhere declared, right? If yes, where is the
declaration?
4) If in ./src/libjdwp/transport.c in method 'dt_socket_client(...)' a
call to
'vm_proper_exit (jdwp, EXIT_FAILURE);' occur, sablevm will cause a
deadlock and I have to kill sablevm. vm_proper_exit calls DestroyJavaVM
(in ./src/libsablvm/invoke_interface.c) and there is the following code:
/* wait for all non-deamon threads to die */
while (vm->threads.user != NULL)
{
_svmm_cond_wait (vm->threads.vm_destruction_cond, vm->global_mutex);
}
which waits on other threads end. But what's if the other threads are in
the following state
SVM_THREAD_STATUS_HALTED? On my last debug session it was the
StartAppHelper thread.
Thanks
Martin