| 731 | } |
| 732 | |
| 733 | void PiuDebugMachineDisconnect(PiuDebugMachine self) |
| 734 | { |
| 735 | #if mxLinux |
| 736 | if (self->source) { |
| 737 | g_source_destroy(self->source); |
| 738 | self->source = NULL; |
| 739 | } |
| 740 | if (self->socket) { |
| 741 | g_socket_close(self->socket, NULL); |
| 742 | g_object_unref(self->socket); |
| 743 | self->socket = NULL; |
| 744 | } |
| 745 | #elif mxMacOSX |
| 746 | if (self->networkSource) { |
| 747 | CFRunLoopRemoveSource(CFRunLoopGetCurrent(), self->networkSource, kCFRunLoopCommonModes); |
| 748 | CFRelease(self->networkSource); |
| 749 | self->networkSource = NULL; |
| 750 | } |
| 751 | if (self->socket) { |
| 752 | CFSocketInvalidate(self->socket); |
| 753 | CFRelease(self->socket); |
| 754 | self->socket = NULL; |
| 755 | } |
| 756 | #elif mxWindows |
| 757 | if (self->socket != INVALID_SOCKET) { |
| 758 | closesocket(self->socket); |
| 759 | self->socket = INVALID_SOCKET; |
| 760 | } |
| 761 | if (self->window) { |
| 762 | DestroyWindow(self->window); |
| 763 | self->window = NULL; |
| 764 | } |
| 765 | #endif |
| 766 | } |
| 767 | |
| 768 | void PiuDebugMachineMark(xsMachine* the, void* it, xsMarkRoot markRoot) |
| 769 | { |
no outgoing calls
no test coverage detected