From 174edcd91bcb969c4ee71a824849d8737223dd8f Mon Sep 17 00:00:00 2001 From: Michael Krelin Date: Sun, 15 Jul 2007 23:55:02 +0000 Subject: unbreak error handling while preserving functionality - exit after disconnecting - spit out error message on error - don't close fd in the loop, once is enough --- (limited to 'core/obex') diff --git a/core/obex/obexserver.cpp b/core/obex/obexserver.cpp index 786e9f7..286961f 100644 --- a/core/obex/obexserver.cpp +++ b/core/obex/obexserver.cpp @@ -214,6 +214,7 @@ static void obex_conn_event (obex_t *handle, obex_object_t *object, break; case OBEX_CMD_DISCONNECT: OBEX_TransportDisconnect(handle); + _exit(0); break; default: break; @@ -434,13 +435,15 @@ bool ObexServer::start(RunMode runmode, Communication comm) fcntl( fd[ 1 ], F_SETFD, FD_CLOEXEC ); if (initObex() == 0) { + if ( fd[ 1 ] ) { + ::close(fd[1]); + fd[1] = 0; + } do { - if ( fd[ 1 ] ) { - ::close(fd[1]); - fd[1] = 0; - } - if (OBEX_HandleInput(m_obex, 10) < 0) - _exit(0); + if (OBEX_HandleInput(m_obex, 60) < 0) { + fprintf(stderr,"failed to OBEX_HandleInput(), errno=%d\n"); + _exit(1); + } } while(1); } char resultByte = 1; -- cgit v0.9.0.2