On Mon, Jan 23, 2017 at 02:46:06PM +0000, Peter Maydell wrote: > On 23 January 2017 at 14:26, Daniel P. Berrange <berra...@redhat.com> wrote: > > The following changes since commit 598cf1c805271564686f2d732b36f50c3c40dcdd: > > > > Merge remote-tracking branch 'remotes/bonzini/tags/for-upstream' into > > staging (2017-01-20 16:42:07 +0000) > > > > are available in the git repository at: > > > > git://github.com/berrange/qemu tags/pull-qio-2017-01-23-1 > > > > for you to fetch changes up to 19f3cc22d364b57315e171090ee2e499b58775b4: > > > > io: introduce a DNS resolver API (2017-01-23 11:28:09 +0000) > > > > ---------------------------------------------------------------- > > Merge io/ 2017-01-23 > > > > Daniel P. Berrange (8): > > sockets: add ability to disable DNS resolution for InetSocketAddress > > io: stop incrementing reference in qio_task_get_source > > io: fix typo in docs for QIOTask > > io: add ability to associate an opaque "result" with with a task > > io: add ability to associate an error with a task > > io: change the QIOTask callback signature > > io: remove Error parameter from QIOTask thread worker > > io: introduce a DNS resolver API > > Fails to build, OSX: > > /Users/pm215/src/qemu-for-merges/io/dns-resolver.c:30:39: error: use > of undeclared identifier 'PTHREAD_ONCE_INIT' > static pthread_once_t instance_init = PTHREAD_ONCE_INIT; > ^ > /Users/pm215/src/qemu-for-merges/io/dns-resolver.c:39:5: error: > implicit declaration of function 'pthread_once' is invalid in C99 > [-Werror,-Wimplicit-function-declaration] > pthread_once(&instance_init, qio_dns_resolve_init_instance); > ^ > /Users/pm215/src/qemu-for-merges/io/dns-resolver.c:39:5: note: did you > mean 'pthread_kill'? > /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.11.sdk/usr/include/signal.h:82:5: > note: 'pthread_kill' declared here > int pthread_kill(pthread_t, int); > ^ > 2 errors generated. > > OSX does have pthread_once(), but you need to actually include > pthread.h (either directly or more likely via qemu/thread.h) > to get it.
Of course pthread_once Is not available on Win32 at all. What I should have used was GOnce which is portable from glib, since QEMU's thread APIs don't provide any once-control wrappers. Regards, Daniel -- |: http://berrange.com -o- http://www.flickr.com/photos/dberrange/ :| |: http://libvirt.org -o- http://virt-manager.org :| |: http://entangle-photo.org -o- http://search.cpan.org/~danberr/ :|