Hallo zusammen,
ich habe gerade ein Problem, mit einem JNI Wrapper, den ich um eine existierende DLL herum baue.
Es geht darum, dass mein Programm komplett terminiert, sobald ich eine native methode aus einem Thread aufrufe, dass nicht das Thread ist, welches die DLL geladen hat.
Es gibt auch keinen dump oder sowas. Die VM schmiert komplett ab und ich seh keinen Trace.
Das ganze funktioniert, wenn ich die Methode aus dem Thread aufrufe, dass die DLL geladen hat (ich nenne das mal DLL-Thread).
Ich muss das ganze allerdings von einem anderen Thread aus aufrufen. Der Grund hierfür ist, dass mein DLL-Thread eine blockierende Methode aus der DLL aufruft. Diese Methode kann aber nur (hart) gestoppt werden, wenn ich eine andere Methode zum abbrechen in der DLL aufrufe. Das muss ich aber aus einem anderen Thread machen, weil mein DLL-Thread ja blockiert ist.
Hat jemand damit schon Erfahrung, und kann mir nen Tipp geben, was ich hier machen kann?
Gruß
Kartoffel
ich habe gerade ein Problem, mit einem JNI Wrapper, den ich um eine existierende DLL herum baue.
Es geht darum, dass mein Programm komplett terminiert, sobald ich eine native methode aus einem Thread aufrufe, dass nicht das Thread ist, welches die DLL geladen hat.
Es gibt auch keinen dump oder sowas. Die VM schmiert komplett ab und ich seh keinen Trace.
Das ganze funktioniert, wenn ich die Methode aus dem Thread aufrufe, dass die DLL geladen hat (ich nenne das mal DLL-Thread).
Ich muss das ganze allerdings von einem anderen Thread aus aufrufen. Der Grund hierfür ist, dass mein DLL-Thread eine blockierende Methode aus der DLL aufruft. Diese Methode kann aber nur (hart) gestoppt werden, wenn ich eine andere Methode zum abbrechen in der DLL aufrufe. Das muss ich aber aus einem anderen Thread machen, weil mein DLL-Thread ja blockiert ist.
Hat jemand damit schon Erfahrung, und kann mir nen Tipp geben, was ich hier machen kann?
Gruß
Kartoffel