Skip to content
This repository has been archived by the owner. It is now read-only.
Permalink
Browse files

Revert "Add uv_pipe_pair for communication between threads"

Not needed. We took a different approach for isolates.

This reverts commit 5cc6090.
  • Loading branch information...
ry committed Jan 9, 2012
1 parent 5cc6090 commit 4ad33e974872cb12a2aa410cdd40cb0d9163cbbc
Showing with 0 additions and 190 deletions.
  1. +0 −7 include/uv.h
  2. +0 −36 src/unix/pipe.c
  3. +0 −6 src/win/pipe.c
  4. +0 −3 test/test-list.h
  5. +0 −137 test/test-pipe-pair.c
  6. +0 −1 uv.gyp
@@ -784,13 +784,6 @@ struct uv_pipe_s {
*/
UV_EXTERN int uv_pipe_init(uv_loop_t*, uv_pipe_t* handle, int ipc);

/*
* Connects two initialized pipes on different loops.
* Data written to one pipe will appear on the other side.
* This function is thread-safe.
*/
UV_EXTERN uv_err_t uv_pipe_pair(uv_pipe_t* a, uv_pipe_t* b);

/*
* Opens an existing file descriptor or HANDLE as a pipe.
*/
@@ -30,10 +30,6 @@
#include <stdlib.h>


static uv_once_t uv__pipe_pair_lock_guard = UV_ONCE_INIT;
static uv_mutex_t uv__pipe_pair_lock;


int uv_pipe_init(uv_loop_t* loop, uv_pipe_t* handle, int ipc) {
uv__stream_init(loop, (uv_stream_t*)handle, UV_NAMED_PIPE);
loop->counters.pipe_init++;
@@ -43,38 +39,6 @@ int uv_pipe_init(uv_loop_t* loop, uv_pipe_t* handle, int ipc) {
}


void uv__pipe_pair_lock_init() {
uv_mutex_init(&uv__pipe_pair_lock);
}


uv_err_t uv_pipe_pair(uv_pipe_t* a, uv_pipe_t* b) {
int fds[2];
int r;
uv_err_t err;

/* Make sure that the mutex is only initialized once. */
uv_once(&uv__pipe_pair_lock_guard, uv__pipe_pair_lock_init);

uv_mutex_lock(&uv__pipe_pair_lock);

r = uv__make_socketpair(fds, UV__F_NONBLOCK | UV__F_IPC);

if (r) {
err = uv__new_sys_error(errno);
} else {
uv_pipe_open(a, fds[0]);
uv_pipe_open(b, fds[1]);
err = uv_ok_;
}

uv_mutex_unlock(&uv__pipe_pair_lock);

return err;
}



int uv_pipe_bind(uv_pipe_t* handle, const char* name) {
struct sockaddr_un saddr;
const char* pipe_fname;
@@ -91,12 +91,6 @@ int uv_pipe_init(uv_loop_t* loop, uv_pipe_t* handle, int ipc) {
}


uv_err_t uv_pipe_pair(uv_pipe_t* a, uv_pipe_t* b) {
/* Implement me */
return uv__new_artificial_error(UV_ENOSYS);
}


static void uv_pipe_connection_init(uv_pipe_t* handle) {
uv_connection_init((uv_stream_t*) handle);
handle->read_req.data = handle;
@@ -29,7 +29,6 @@ TEST_DECLARE (tcp_ping_pong_v6)
TEST_DECLARE (tcp_ref)
TEST_DECLARE (tcp_ref2)
TEST_DECLARE (pipe_ping_pong)
TEST_DECLARE (pipe_pair)
TEST_DECLARE (delayed_accept)
TEST_DECLARE (multiple_listen)
TEST_DECLARE (tcp_writealot)
@@ -164,8 +163,6 @@ TASK_LIST_START
TEST_ENTRY (pipe_ping_pong)
TEST_HELPER (pipe_ping_pong, pipe_echo_server)

TEST_ENTRY (pipe_pair)

TEST_ENTRY (delayed_accept)
TEST_ENTRY (multiple_listen)

This file was deleted.

1 uv.gyp
@@ -302,7 +302,6 @@
'test/test-ping-pong.c',
'test/test-pipe-bind-error.c',
'test/test-pipe-connect-error.c',
'test/test-pipe-pair.c',
'test/test-platform-output.c',
'test/test-process-title.c',
'test/test-ref.c',

0 comments on commit 4ad33e9

Please sign in to comment.
You can’t perform that action at this time.