Right. I think this is a bug in openwbem but I'm not familiar with the
cmpi provider interface code in openwbem. I have turned it over to one
of the openwbem developers in hopes he will find the bug before I waste
more time on it :-)
openwbem stashes some thread context object in thread local storage but
doesn't seem to have done it yet when the initialize routine is called.
No problem with the same code path on post-initialize routines, e.g.
EnumInstances.
Good point, it may well be my bug - ie that the context is not defined
until *after* initialization (but just happens to work OK with Pegasus).
I'll check if the CMPI spec says anything about this...
Yes, in fact I changed it to
#ifdef CMGetCharPtr
# undef CMGetCharPtr
# define CMGetCharPtr(s) (((s)==NULL || *((void**)(s))==NULL)? NULL :
(char*)s->hdl)
#endif
Good idea! thnx
-G