From 4b5b074b8189a2aea39175f8dc6c8177f5008630 Mon Sep 17 00:00:00 2001 From: Shawn Hoffman Date: Sat, 10 Apr 2010 14:39:54 +0000 Subject: [PATCH] sanchez's patch for real wiimote pair-up, unexpected disconnect, and wiiuse resource leakage. git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@5313 8ced0084-cf51-0410-be5f-012b33b47a6e --- Externals/WiiUse/Win32/wiiuse.dll | Bin 27136 -> 27136 bytes Externals/WiiUse/Win32/wiiuse.lib | Bin 8610 -> 8610 bytes Externals/WiiUse/X64/wiiuse.dll | Bin 31744 -> 31744 bytes Externals/WiiUse/X64/wiiuse.lib | Bin 8462 -> 8462 bytes Externals/WiiUseSrc/Src/io_win.c | 40 ++++++++++++++++-- Externals/WiiUseSrc/Src/wiiuse.c | 15 ++++--- .../Plugin_Wiimote/Src/wiimote_real.cpp | 16 ++++--- 7 files changed, 56 insertions(+), 15 deletions(-) diff --git a/Externals/WiiUse/Win32/wiiuse.dll b/Externals/WiiUse/Win32/wiiuse.dll index 83062f77abca2d2a850361f842ab5c760b174f6c..6a7d581c08cc1c8bcdb4516fdf7d9bc51056cb83 100644 GIT binary patch delta 6482 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 diff --git a/Externals/WiiUse/Win32/wiiuse.lib b/Externals/WiiUse/Win32/wiiuse.lib index b0c86b08acf751588338e4848e97d1a3e285b0f7..08b322dc03b3a95f73c8cea38c57a979f8e26b47 100644 GIT binary patch delta 945 zcmZ4FyvTWi6oAc-6h7N4xm&(A!m`@m*f{;!P4 zYQ;rNEEOOify;-HiD6Rr0q-4?XA8+sZV`NftWpiEf2NQ;lKun2S|HKMZ-vbfN@0SL zB1nP?QsR@>iwJ{N9~H4gs0K;MiVAas>{Vc3U|?q8n7n{RZ1O`9S%e~x4|+u*x)+NY zqe|3DKqR=uEKwz3Ix59bbU>W^Pz>31;t)Y!ab!U$@yUzDA!hFsx5aL@wgigV;*(*n znJj_k8d(L1QH+wNs7ApgvXLb~!LnZx5-jQr3=Dh>9Frfi%1-_zDTmOlAO&@{ls&Sb z_~iYP5W5aaIU^)Mfe3S*r8ExLEtf`e9mo;Cr6EQM%AnbiFC)wYiZnF_1_luZ4u;7G zn58GLltGF$koL9m5beKZtPw6zfChKAEK+b62#HNTAS(h+A=hQS5voBF4ssBQa5*%I z15k2N4f@ delta 945 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 delta 8017 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 U!Lk+0HZ0q*Y_nq3eMUwG00s{rl>h($ diff --git a/Externals/WiiUse/X64/wiiuse.lib b/Externals/WiiUse/X64/wiiuse.lib index 6716f24c58da5605cf5b37662570947cabe9e4ad..fe5e434aaa661bc84e91a41d02bf99089ab17a9b 100644 GIT binary patch delta 957 zcmeBk>T{YP#bIt>X<%V)YBKqQpx8zWF?JMz%{lA}NFocw#3!%j<7WNJ0E%E9Hm~1ljXfTo~?3K?at|GQ4tJVGT?6&lS`Gz*q@| delta 957 zcmeBk>T{YP#bIh`VrFV+Y&!Xapx8zWF?JMz%{lA}NFocw#3!%j<7Zy~QgHKLzORhP zYQ;rNEEOOifh(nriDCUqLGK-trG?}tvj{#xR;dQoFDaysq(4AG3nV(ZRM-@u6ef5d zSrFs~V-aDnYEKbMglYjP@yQFJ65BF|oQ6*qHek1D$ zP|)HA`Adp{fq|WYWpV0CnzHI z85kHOCI`xjP1fTUoSY{ohfoHx%@`UMo^sBp60krzD2EbA;*(+SGnGeiA0nm}%Oi!s c19^zUc@>b-D=gX9Dj=x@g*7bMKUYu(04|OTYXATM diff --git a/Externals/WiiUseSrc/Src/io_win.c b/Externals/WiiUseSrc/Src/io_win.c index 29f261f02d..ab08183ba9 100644 --- a/Externals/WiiUseSrc/Src/io_win.c +++ b/Externals/WiiUseSrc/Src/io_win.c @@ -112,7 +112,10 @@ int wiiuse_find(struct wiimote_t** wm, int max_wiimotes, int timeout) { /* try to set the output report to see if the device is actually connected */ if (!wiiuse_set_report_type(wm[found])) { + Sleep(10); WIIMOTE_DISABLE_STATE(wm[found], WIIMOTE_STATE_CONNECTED); + if (wm[found]->event == WIIUSE_UNEXPECTED_DISCONNECT) + break; continue; } @@ -181,6 +184,7 @@ int wiiuse_io_read(struct wiimote_t* wm) { if ((b == ERROR_HANDLE_EOF) || (b == ERROR_DEVICE_NOT_CONNECTED)) { /* remote disconnect */ wiiuse_disconnected(wm); + wm->event = WIIUSE_UNEXPECTED_DISCONNECT; return 0; } @@ -214,7 +218,7 @@ int wiiuse_io_read(struct wiimote_t* wm) { int wiiuse_io_write(struct wiimote_t* wm, byte* buf, int len) { - DWORD bytes; + DWORD bytes, dw; int i; if (!wm || !WIIMOTE_IS_CONNECTED(wm)) @@ -235,12 +239,42 @@ int wiiuse_io_write(struct wiimote_t* wm, byte* buf, int len) { return i; } - WIIUSE_ERROR("Unable to determine bluetooth stack type."); + /*-------------------------------------------------------------- + dw = GetLastError(); //checking for 121 = timeout on semaphore/device off/disconnected to avoid trouble with other stacks toshiba/widcomm + //995 = The I/O operation has been aborted because of either a thread exit or an application request. + + if ( (dw == 121) || (dw == 995) ) { + WIIUSE_INFO("wiiuse_io_write[WIIUSE_STACK_UNKNOWN]: WIIUSE_UNEXPECTED_DISCONNECT"); + wiiuse_disconnected(wm); + wm->event = WIIUSE_UNEXPECTED_DISCONNECT; + } + else WIIUSE_ERROR("wiiuse_io_write[WIIUSE_STACK_UNKNOWN]: WIIUSE_UNEXPECTED_DISCONNECT ERROR: %08x", dw); + --------------------------------------------------------------*/ + + //If the part below causes trouble on WIDCOMM/TOSHIBA stack uncomment the lines above, and comment out the 3 lines below instead. + + WIIUSE_INFO("wiiuse_io_write[WIIUSE_STACK_UNKNOWN]: WIIUSE_UNEXPECTED_DISCONNECT - time out"); + wiiuse_disconnected(wm); + wm->event = WIIUSE_UNEXPECTED_DISCONNECT; + + //WIIUSE_ERROR("wiiuse_io_write[WIIUSE_STACK_UNKNOWN]: Unable to determine bluetooth stack type || Wiimote timed out."); return 0; } case WIIUSE_STACK_MS: - return HidD_SetOutputReport(wm->dev_handle, buf + 1, len - 1); + i = HidD_SetOutputReport(wm->dev_handle, buf + 1, len - 1); + dw = GetLastError(); + + if (dw == 121) { // semaphore timeout + WIIUSE_INFO("wiiuse_io_write[WIIUSE_STACK_MS]: WIIUSE_UNEXPECTED_DISCONNECT"); + wiiuse_disconnected(wm); + wm->event = WIIUSE_UNEXPECTED_DISCONNECT; + return 0; + }/* else if (dw) + WIIUSE_ERROR("wiiuse_io_write[WIIUSE_STACK_MS]: WIIUSE_UNEXPECTED_DISCONNECT ERROR: %08x", dw); + */ + // it is not important to catch all errors here at this place, rest will be covered by io_reads. + return i; case WIIUSE_STACK_BLUESOLEIL: return WriteFile(wm->dev_handle, buf + 1, 22, &bytes, &wm->hid_overlap); diff --git a/Externals/WiiUseSrc/Src/wiiuse.c b/Externals/WiiUseSrc/Src/wiiuse.c index 186b71d1c4..de8006d6a4 100644 --- a/Externals/WiiUseSrc/Src/wiiuse.c +++ b/Externals/WiiUseSrc/Src/wiiuse.c @@ -172,13 +172,6 @@ void wiiuse_disconnected(struct wiimote_t* wm) { WIIMOTE_DISABLE_STATE(wm, WIIMOTE_STATE_CONNECTED); /* reset a bunch of stuff */ - #ifndef WIN32 - wm->out_sock = -1; - wm->in_sock = -1; - #else - wm->dev_handle = 0; - #endif - wm->leds = 0; wm->state = WIIMOTE_INIT_STATES; wm->read_req = NULL; @@ -188,6 +181,14 @@ void wiiuse_disconnected(struct wiimote_t* wm) { wm->btns_released = 0; memset(wm->event_buf, 0, sizeof(wm->event_buf)); + #ifndef WIN32 + wm->out_sock = -1; + wm->in_sock = -1; + #else + CloseHandle(wm->dev_handle); + wm->dev_handle = 0; + #endif + wm->event = WIIUSE_DISCONNECT; } diff --git a/Source/Plugins/Plugin_Wiimote/Src/wiimote_real.cpp b/Source/Plugins/Plugin_Wiimote/Src/wiimote_real.cpp index fd22e3562f..2ead6f15d7 100644 --- a/Source/Plugins/Plugin_Wiimote/Src/wiimote_real.cpp +++ b/Source/Plugins/Plugin_Wiimote/Src/wiimote_real.cpp @@ -140,7 +140,11 @@ void ReadData() //DEBUG_LOG(WIIMOTE, "Writing data to the Wiimote"); SEvent& rEvent = m_EventWriteQueue.front(); wiiuse_io_write(m_pWiiMote, (byte*)rEvent.m_PayLoad, rEvent._Size); - m_EventWriteQueue.pop(); + if (m_pWiiMote->event == WIIUSE_UNEXPECTED_DISCONNECT) + { + NOTICE_LOG(WIIMOTE, "wiiuse_io_write: unexpected disconnect. handle: %08x", m_pWiiMote->dev_handle); + } + m_EventWriteQueue.pop(); // InterruptDebugging(false, rEvent.m_PayLoad); } @@ -176,6 +180,10 @@ void ReadData() m_pCriticalSection->Leave(); } } + else if (m_pWiiMote->event == WIIUSE_UNEXPECTED_DISCONNECT) + { + NOTICE_LOG(WIIMOTE, "wiiuse_io_read: unexpected disconnect. handle: %08x", m_pWiiMote->dev_handle); + } }; @@ -339,6 +347,8 @@ int Initialize() // and also connecting in Linux/OSX. // Windows connects to Wiimote in the wiiuse_find function g_pReadThread = new Common::Thread(ReadWiimote_ThreadFunc, NULL); + // Don't run the Wiimote thread if no wiimotes were found + g_Shutdown = false; NeedsConnect.Set(); Connected.Wait(); } @@ -384,10 +394,6 @@ int Initialize() wiiuse_read_data(g_WiiMotesFromWiiUse[i], data, 0, sizeof(WiiMoteEmu::EepromData_0)); } - // Don't run the Wiimote thread if no wiimotes were found - if (g_NumberOfWiiMotes > 0) - g_Shutdown = false; - // Initialized, even if we didn't find a Wiimote g_RealWiiMoteInitialized = true;