WvStreams
Main Page
Modules
Classes
Files
File List
File Members
streams
wvloopback.cc
1
/*
2
* Worldvisions Weaver Software:
3
* Copyright (C) 1997-2002 Net Integration Technologies, Inc.
4
*
5
* Implementation of the WvLoopback stream. WvLoopback uses a
6
* socketpair() to create a stream that allows you to read()
7
* everything written to it, even (especially) across a fork() call.
8
*/
9
#include "wvloopback.h"
10
#include "wvsocketpair.h"
11
#include "wvmoniker.h"
12
#include "wvlinkerhack.h"
13
14
WV_LINK(
WvLoopback
);
15
16
static
IWvStream
*create_loopback(
WvStringParm
,
IObject
*)
17
{
18
return
new
WvLoopback
();
19
}
20
21
static
WvMoniker<IWvStream>
reg(
"loop"
, create_loopback);
22
23
24
WvLoopback::WvLoopback()
25
{
26
int
socks[2];
27
28
if
(wvsocketpair(SOCK_STREAM, socks))
29
{
30
seterr
(errno);
31
return
;
32
}
33
34
rfd
= socks[0];
35
wfd
= socks[1];
36
37
set_close_on_exec
(
true
);
38
set_nonblock
(
true
);
39
}
Generated on Wed Aug 28 2019 23:57:14 for WvStreams by
1.8.3.1