Skip to content

Commit

Permalink
port to latest lthread
Browse files Browse the repository at this point in the history
  • Loading branch information
Justin Karneges committed May 22, 2015
1 parent b2c888c commit 2f77309
Show file tree
Hide file tree
Showing 7 changed files with 24 additions and 1,690 deletions.
3 changes: 2 additions & 1 deletion examples/examples.pri
Original file line number Diff line number Diff line change
Expand Up @@ -4,4 +4,5 @@ QT -= gui
QT += network

INCLUDEPATH += $$PWD/../src
include($$PWD/../src/src.pri)
LIBS += -L$$PWD/../src -lqfiber
PRE_TARGETDEPS += $$PWD/../src/libqfiber.a
8 changes: 7 additions & 1 deletion qfiber.pro
Original file line number Diff line number Diff line change
@@ -1,3 +1,9 @@
TEMPLATE = subdirs

SUBDIRS += examples
sub_src.subdir = src
sub_examples.subdir = examples
sub_examples.depends = sub_src

SUBDIRS += \
sub_src \
sub_examples
227 changes: 0 additions & 227 deletions src/lthread_int.h

This file was deleted.

58 changes: 0 additions & 58 deletions src/lthread_poller.h

This file was deleted.

35 changes: 15 additions & 20 deletions src/qfiberzmqsocket.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -29,32 +29,27 @@
#include <zmq.h>
#include "qfiberzmqcontext.h"

// needed for _lthread_sched_event
extern "C" {
#include "lthread_int.h"
static int get_fd(void *sock)
{
int fd;
size_t opt_len = sizeof(fd);
int ret = zmq_getsockopt(sock, ZMQ_FD, &fd, &opt_len);
assert(ret == 0);
return fd;
}

static bool get_rcvmore(void *sock)
{
qint64 more;
int more;
size_t opt_len = sizeof(more);
int ret = zmq_getsockopt(sock, ZMQ_RCVMORE, &more, &opt_len);
assert(ret == 0);
return more ? true : false;
}

static int get_fd(void *sock)
{
int fd;
size_t opt_len = sizeof(fd);
int ret = zmq_getsockopt(sock, ZMQ_FD, &fd, &opt_len);
assert(ret == 0);
return fd;
}

static int get_events(void *sock)
{
quint32 events;
int events;
size_t opt_len = sizeof(events);
int ret = zmq_getsockopt(sock, ZMQ_EVENTS, &events, &opt_len);
assert(ret == 0);
Expand Down Expand Up @@ -156,19 +151,19 @@ ZmqMessage ZmqSocket::read()
assert(ret == 0);
while(true)
{
ret = zmq_recv(sock_, &msg, ZMQ_NOBLOCK);
ret = zmq_msg_recv(&msg, sock_, ZMQ_NOBLOCK);
if(ret < 0 && errno == EAGAIN)
{
int flags = 0;
while(!(flags & ZMQ_POLLIN))
{
_lthread_sched_event(lthread_current(), fd_, LT_EV_READ, 0);
lthread_wait_read(fd_, 0);
flags = get_events(sock_);
}
}
else
{
assert(ret == 0);
assert(ret == (int)zmq_msg_size(&msg));
break;
}
}
Expand All @@ -194,19 +189,19 @@ void ZmqSocket::write(const ZmqMessage &message)
memcpy(zmq_msg_data(&msg), buf.data(), buf.size());
while(true)
{
ret = zmq_send(sock_, &msg, ZMQ_NOBLOCK | (n + 1 < message.count() ? ZMQ_SNDMORE : 0));
ret = zmq_msg_send(&msg, sock_, ZMQ_NOBLOCK | (n + 1 < message.count() ? ZMQ_SNDMORE : 0));
if(ret < 0 && errno == EAGAIN)
{
int flags = 0;
while(!(flags & ZMQ_POLLOUT))
{
_lthread_sched_event(lthread_current(), fd_, LT_EV_WRITE, 0);
lthread_wait_read(fd_, 0);
flags = get_events(sock_);
}
}
else
{
assert(ret == 0);
assert(ret == buf.size());
break;
}
}
Expand Down
Loading

0 comments on commit 2f77309

Please sign in to comment.