Commit a94f10ec authored by Ian Craggs's avatar Ian Craggs

MacOS updates for threading

parent 5db08261
......@@ -164,11 +164,12 @@ END_GROUP =
EXTRA_LIB = -ldl
CCFLAGS_SO += -Wno-deprecated-declarations -DUSE_NAMED_SEMAPHORES
CCFLAGS_SO += -Wno-deprecated-declarations -DOSX
LDFLAGS_C += -Wl,-install_name,lib$(MQTTLIB_C).so.${MAJOR_VERSION}
LDFLAGS_CS += -Wl,-install_name,lib$(MQTTLIB_CS).so.${MAJOR_VERSION}
LDFLAGS_A += -Wl,-install_name,lib${MQTTLIB_A}.so.${MAJOR_VERSION}
LDFLAGS_AS += -Wl,-install_name,lib${MQTTLIB_AS}.so.${MAJOR_VERSION}
FLAGS_EXE += -DOSX
endif
......
......@@ -234,7 +234,7 @@ int Thread_wait_sem(sem_type sem, int timeout)
#if defined(WIN32) || defined(WIN64)
rc = WaitForSingleObject(sem, timeout);
#elif defined(OSX)
rc = (int)dispatch_semaphore_wait(sem, dispatch_time(DISPATCH_TIME_NOW, timeout*1000));
rc = (int)dispatch_semaphore_wait(sem, dispatch_time(DISPATCH_TIME_NOW, (int64_t)timeout*1000000L));
#elif defined(USE_TRYWAIT)
while (++i < count && (rc = sem_trywait(sem)) != 0)
{
......
"""
*******************************************************************
Copyright (c) 2013, 2016 IBM Corp.
Copyright (c) 2013, 2017 IBM Corp.
All rights reserved. This program and the accompanying materials
are made available under the terms of the Eclipse Public License v1.0
......@@ -45,7 +45,8 @@ class MyHandler(socketserver.StreamRequestHandler):
clients = self.request
brokers = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
brokers.connect((brokerhost, brokerport))
while inbuf != None:
terminated = False
while inbuf != None and not terminated:
(i, o, e) = select.select([clients, brokers], [], [])
for s in i:
if s == clients:
......@@ -60,6 +61,7 @@ class MyHandler(socketserver.StreamRequestHandler):
print("Terminating client", self.ids[id(clients)])
brokers.close()
clients.close()
terminated = True
break
elif packet.fh.MessageType == MQTTV3.CONNECT:
self.ids[id(clients)] = packet.ClientIdentifier
......
......@@ -955,7 +955,7 @@ int test6(struct Options options)
opts.keepAliveInterval = 2;
opts.cleansession = 1;
opts.MQTTVersion = options.MQTTVersion;
opts.MQTTVersion = MQTTVERSION_3_1_1;
opts.will = &wopts;
opts.will->message = test6_will_message;
opts.will->qos = 1;
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment