Я получаю прерывание (), которое не могу «поймать» в своем коде.Возможно, мне не хватает понимания;Можете ли вы дать мне некоторое представление или, возможно, помочь мне с прерыванием ()?
Пожалуйста, обратите внимание;код отлично работает для тысяч моих пользователей;но очень немногие (сейчас два) сообщили об этом сбое.
Сначала код (упрощенный):
244: -(void)openBSDSocket:(NSString*)hostname useSSL:(bool)useSSL {
245: // Look up host
246: if ( (remoteHost = gethostbyname([hostName cStringUsingEncoding:NSUTF8StringEncoding])) == NULL ) {
247: [NSException raise:SOCKET_EX_HOST_NOT_FOUND format:SOCKET_EX_HOST_NOT_FOUND_F, strerror(errno)];
248: }
Вызвал этот сбой (дамп)
Thread 34 Crashed:
0 libSystem.B.dylib 0x00007fff8550fb6e __semwait_signal_nocancel + 10
1 libSystem.B.dylib 0x00007fff8550fa70 nanosleep$NOCANCEL + 129
2 libSystem.B.dylib 0x00007fff8556c3c6 usleep$NOCANCEL + 57
3 libSystem.B.dylib 0x00007fff8558b97c abort + 93
4 libSystem.B.dylib 0x00007fff854a3615 free + 128
5 libSystem.B.dylib 0x00007fff854f409b _mdns_search + 1469
6 libSystem.B.dylib 0x00007fff854f8564 _mdns_hostbyname + 287
7 libSystem.B.dylib 0x00007fff854f826d search_host_byname + 139
8 libSystem.B.dylib 0x00007fff854f8186 gethostbyname + 98
9 com.NZBVortex.NZBVortex 0x0000000100021346 -[CFNetworkStream openBSDSocket::] + 246
Все openBSDSocket правильно упакованы, исключение перехватывается, что, конечно, не перехватывает прерывание ()
Можете ли вы помочь мне разобраться здесь?