Re: is libvirt java binding thread safe?

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Fri, Sep 03, 2010 at 01:02:09PM +0200, Matthias Bolte wrote:
> Ah, okay, now I understand what you want to say.
> 
> You have two threads A and B. When A runs on its own then it's just
> fine, but when you add B (that triggers an exception on purpose and
> ignores it) then A picks it up and reports it. This is the point where
> thread safety comes to mind.
> 
> libvirt stores errors in thread-local-storage. It uses
> pthread_key_create/pthread_{get,set}specific for this (or
> TlsAlloc/Tls{Get,Set}Value on Windows).
> 
> I think what's happening here is that all your threads in Java share
> the same thread-local-storage. Therefore, thread A can pickup the
> error triggered by thread B, that should not happen.

That could only happen if the JVM was using green threads instead of
native threads, but no serious JVM still uses green threads these days.

Daniel
-- 
|: Red Hat, Engineering, London    -o-   http://people.redhat.com/berrange/ :|
|: http://libvirt.org -o- http://virt-manager.org -o- http://deltacloud.org :|
|: http://autobuild.org        -o-         http://search.cpan.org/~danberr/ :|
|: GnuPG: 7D3B9505  -o-   F3C9 553F A1DA 4AC2 5648 23C1 B3DF F742 7D3B 9505 :|


[Index of Archives]     [Virt Tools]     [Lib OS Info]     [Fedora Users]     [Fedora Desktop]     [Fedora SELinux]     [Yosemite News]     [KDE Users]

  Powered by Linux