From 7dd7bd2b0399505cd44d47a8b0d546afc990259c Mon Sep 17 00:00:00 2001 From: Soren Jorvang Date: Tue, 9 Nov 2010 20:46:11 +0000 Subject: [PATCH] Write bluetooth packets asynchronously to prevent blocking on commands that take some time to complete in the wiimote. From . Fixes issue 3437. git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@6365 8ced0084-cf51-0410-be5f-012b33b47a6e --- Externals/WiiUse/Src/io_osx.m | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/Externals/WiiUse/Src/io_osx.m b/Externals/WiiUse/Src/io_osx.m index d22a2956cc..c89b69523c 100644 --- a/Externals/WiiUse/Src/io_osx.m +++ b/Externals/WiiUse/Src/io_osx.m @@ -330,7 +330,12 @@ int wiiuse_io_read(struct wiimote_t *wm) int wiiuse_io_write(struct wiimote_t *wm, byte *buf, int len) { - [cchan writeSync: buf length: len]; + IOReturn ret; - return len; + ret = [cchan writeAsync: buf length: len refcon: nil]; + + if (ret == kIOReturnSuccess) + return len; + else + return 0; }