void ClosePlugins() { long ret; //signal(SIGINT, SIG_DFL); //signal(SIGPIPE, SIG_DFL); ret = CDR_close(); if (ret < 0) { SysMessage("%s", _("Error Closing CDR Plugin")); return; } ret = SPU_close(); if (ret < 0) { SysMessage("%s", _("Error Closing SPU Plugin")); return; } ret = PAD1_close(); if (ret < 0) { SysMessage("%s", _("Error Closing PAD1 Plugin")); return; } ret = PAD2_close(); if (ret < 0) { SysMessage("%s", _("Error Closing PAD2 Plugin")); return; } ret = GPU_close(); if (ret < 0) { SysMessage("%s", _("Error Closing GPU Plugin")); return; } #ifdef ENABLE_SIO1API ret = SIO1_close(); if (ret < 0) { SysMessage("%s", _("Error closing SIO1 plugin!")); return; } #endif if (Config.UseNet) { NET_pause(); } }
void ClosePlugins() { int ret; // PAD plugins have to be closed first, otherwise some plugins like // LilyPad will mess up the window handle and cause crash. // Also don't check return value here, as LilyPad uses void. PAD1_close(); PAD2_close(); ret = CDR_close(); if (ret < 0) { SysMessage (_("Error Closing CDR Plugin")); return; } ret = GPU_close(); if (ret < 0) { SysMessage (_("Error Closing GPU Plugin")); return; } ret = SPU_close(); if (ret < 0) { SysMessage (_("Error Closing SPU Plugin")); return; } #ifdef ENABLE_SIO1API ret = SIO1_close(); if (ret < 0) { SysMessage (_("Error Closing SIO1 plugin")); return; } #endif if (Config.UseNet) { NET_pause(); } }