[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [Xen-devel] Re: Error reporting capabilities for libxc
On Mon, Oct 23, 2006 at 03:04:41PM -0500, Anthony Liguori wrote: > Daniel P. Berrange wrote: > >I'm doing this on FC6 - the __thread annotation is the same approach > >used in libc for the per-thread errno variable, hence why I chose it > >try it initially. The version are: > > > > glibc-2.5-3 > > gcc-4.1.1-30 > > > > > >>I've found in the past that __thread can have problems when using shared > >>libraries (the exact instance was a Python binding). > >> > > > >I've not explicitly tested this integrating with the python bindings > >and ensuring the correct per-thread operation. > > > > Will the python bindings actually load? In the past, I've not been able > to import a module that contains __thread variables. Yes, that worked just fine. I tested using xend/xm to validate the saner error handling behaviour for invalid kernels, eg # xm create crash Using config file "crash". Error: [2, 'Invalid kernel', "Kernel ELF type '3' does not match Xen type '2'"] # xm create crash Using config file "crash". Error: [2, 'Invalid kernel', "Kernel ELF architecture '3' does not match Xen architecture '62' (x86_64)"] # xm create crash Using config file "crash". Error: [2, 'Invalid kernel', 'Not a valid ELF or raw kernel image'] Given the notes in the GCC docs about needing support from libdl.so, libc.so & libthread.so I suspect one of the libraries in your stack was not fully compliant with the __thread specs. > >One further issue I've thought of is that the __thread annotation does > >not provide any way to do cleanup when a thread exists. Fine if the > >per-thread variable is a simple scalar, but not so good if its a char * > >since I think it'll leak memory. So I think I may have no choice by to > >re-write with pthread_getspecific(), since that allows registration > >of a cleanup function to free memory. Regards, Dan. -- |=- Red Hat, Engineering, Emerging Technologies, Boston. +1 978 392 2496 -=| |=- Perl modules: http://search.cpan.org/~danberr/ -=| |=- Projects: http://freshmeat.net/~danielpb/ -=| |=- GnuPG: 7D3B9505 F3C9 553F A1DA 4AC2 5648 23C1 B3DF F742 7D3B 9505 -=| _______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxxxxxxxx http://lists.xensource.com/xen-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |