summaryrefslogtreecommitdiff
Side-by-side diff
Diffstat (more/less context) (show whitespace changes)
-rw-r--r--core/obex/obexserver.cpp23
1 files changed, 13 insertions, 10 deletions
diff --git a/core/obex/obexserver.cpp b/core/obex/obexserver.cpp
index f1fb205..786e9f7 100644
--- a/core/obex/obexserver.cpp
+++ b/core/obex/obexserver.cpp
@@ -209,3 +209,14 @@ static void obex_conn_event (obex_t *handle, obex_object_t *object,
break;
-
+ case OBEX_EV_REQDONE:
+ switch(obex_cmd) {
+ case OBEX_CMD_PUT:
+ case OBEX_CMD_CONNECT:
+ break;
+ case OBEX_CMD_DISCONNECT:
+ OBEX_TransportDisconnect(handle);
+ break;
+ default:
+ break;
+ }
+ break;
case OBEX_EV_LINKERR:
@@ -426,3 +437,2 @@ bool ObexServer::start(RunMode runmode, Communication comm)
do {
- int result; //Connection result
if ( fd[ 1 ] ) {
@@ -431,11 +441,4 @@ bool ObexServer::start(RunMode runmode, Communication comm)
}
- if ((result = OBEX_HandleInput(m_obex, 60)) < 0) {
- if (errno != ECONNRESET) {
- printf("OBEX_HandleInput error %d\n", errno);
- fflush(stdout);
- _exit(-1);
- }
- else
+ if (OBEX_HandleInput(m_obex, 10) < 0)
_exit(0);
- }
} while(1);