Skip to content

Commit

Permalink
Merge 19e77fc into 1e5ac13
Browse files Browse the repository at this point in the history
  • Loading branch information
hildjj committed Aug 21, 2015
2 parents 1e5ac13 + 19e77fc commit 6528994
Show file tree
Hide file tree
Showing 4 changed files with 31 additions and 10 deletions.
7 changes: 3 additions & 4 deletions src/tube_manager.c
Original file line number Diff line number Diff line change
Expand Up @@ -110,10 +110,8 @@ _tube_manager_init(tube_manager* m,
m->sock6 = -1;
m->max_fd = -1;
m->keep_going = true;
for (size_t i = 0; i < sizeof(m->pipe); i++)
{
m->pipe[i] = -1;
}
m->pipe[0] = -1;
m->pipe[1] = -1;

if (buckets <= 0)
{
Expand Down Expand Up @@ -176,6 +174,7 @@ _tube_manager_init(tube_manager* m,
m->timer_q = gpriority_queue_create(&paged_binary_heap_ctx, _timer_del);
if (!m->timer_q)
{
LS_ERROR(err, LS_ERR_NO_MEMORY);
goto cleanup;
}
}
Expand Down
9 changes: 5 additions & 4 deletions src/tube_stream.c
Original file line number Diff line number Diff line change
Expand Up @@ -106,7 +106,7 @@ tube_stream_close(tube_stream* s,

struct _tube_stream_manager
{
tube_manager tm;
tube_manager tm; /* MUST COME FIRST */
ls_event* e_open;
ls_event* e_close;
ls_event* e_data;
Expand All @@ -119,9 +119,11 @@ tube_stream_manager_create(int buckets,
tube_stream_manager** sm,
ls_err* err)
{
tube_stream_manager* ret;
ls_event_dispatcher* dispatcher;

assert(sm);

tube_stream_manager* ret;
ret = ls_data_calloc( 1, sizeof(tube_stream_manager) );
if (NULL == ret)
{
Expand All @@ -137,8 +139,7 @@ tube_stream_manager_create(int buckets,
}

/* setup events */
ls_event_dispatcher* dispatcher = _tube_manager_get_dispatcher(
(tube_manager*)ret);
dispatcher = _tube_manager_get_dispatcher((tube_manager*)ret);
if ( !ls_event_dispatcher_create_event(dispatcher,
EV_STREAM_OPEN_NAME,
&ret->e_open,
Expand Down
18 changes: 16 additions & 2 deletions test/tube_stream_test.c
Original file line number Diff line number Diff line change
Expand Up @@ -60,8 +60,8 @@ CTEST2(tube_stream, bind)
tube* t;
bool retval;

tube_create(&t, &data->err);
tube_stream_create(&s, &data->err);
ASSERT_TRUE(tube_create(&t, &data->err));
ASSERT_TRUE(tube_stream_create(&s, &data->err));

retval = tube_stream_bind(s, t, &data->err);
ASSERT_FALSE(retval);
Expand Down Expand Up @@ -112,3 +112,17 @@ CTEST2(tube_stream, close)

tube_stream_destroy(s);
}

CTEST(tube_stream_manager_oom, create_oom)
{
tube_stream_manager* sm = NULL;
OOM_SIMPLE_TEST( tube_stream_manager_create(3, &sm, &err) );
tube_stream_manager_destroy(sm);
}

CTEST(tube_stream_oom, create_oom)
{
tube_stream* s = NULL;
OOM_SIMPLE_TEST( tube_stream_create(&s, &err) );
tube_stream_destroy(s);
}
7 changes: 7 additions & 0 deletions test/tube_test.c
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,13 @@
#include "tube_manager.h"
#include "ls_sockaddr.h"

CTEST(tube_manager_oom, create_oom)
{
tube_manager* tm = NULL;
OOM_SIMPLE_TEST( tube_manager_create(3, &tm, &err) );
tube_manager_destroy(tm);
}

enum {
/* Number of tubes to create for the foreach test. */
TMGR_FOREACH_NUMTUBES = 3
Expand Down

0 comments on commit 6528994

Please sign in to comment.