summaryrefslogtreecommitdiffstats
path: root/xrdp/xrdp_tcp.c
diff options
context:
space:
mode:
authorjsorg71 <jsorg71>2004-08-02 02:45:53 +0000
committerjsorg71 <jsorg71>2004-08-02 02:45:53 +0000
commit8cb69713bee1d6169d7dc820ca25375f95bd99c2 (patch)
treee3060907ed5515471f675bb7eb685a47ef3f9273 /xrdp/xrdp_tcp.c
parent12ed9b1002fea166e6622ff0a5669bdfd9b3bbf0 (diff)
downloadxrdp-proprietary-8cb69713bee1d6169d7dc820ca25375f95bd99c2.tar.gz
xrdp-proprietary-8cb69713bee1d6169d7dc820ca25375f95bd99c2.zip
early work
Diffstat (limited to 'xrdp/xrdp_tcp.c')
-rw-r--r--xrdp/xrdp_tcp.c18
1 files changed, 17 insertions, 1 deletions
diff --git a/xrdp/xrdp_tcp.c b/xrdp/xrdp_tcp.c
index 5463b591..1a9961c3 100644
--- a/xrdp/xrdp_tcp.c
+++ b/xrdp/xrdp_tcp.c
@@ -27,9 +27,11 @@ struct xrdp_tcp* xrdp_tcp_create(struct xrdp_iso* owner)
struct xrdp_tcp* self;
self = (struct xrdp_tcp*)g_malloc(sizeof(struct xrdp_tcp), 1);
- self->owner = owner;
+ self->iso_layer = owner;
self->in_s = owner->in_s;
self->out_s = owner->out_s;
+ /* get sck from xrdp_process */
+ self->sck = owner->mcs_layer->sec_layer->rdp_layer->pro_layer->sck;
return self;
}
@@ -54,6 +56,7 @@ int xrdp_tcp_recv(struct xrdp_tcp* self, int len)
{
int rcvd;
+ DEBUG((" in xrdp_tcp_recv, gota get %d bytes\n", len))
init_stream(self->in_s, len);
while (len > 0)
{
@@ -65,10 +68,16 @@ int xrdp_tcp_recv(struct xrdp_tcp* self, int len)
if (g_tcp_last_error_would_block(self->sck))
g_sleep(1);
else
+ {
+ DEBUG((" error = -1 in xrdp_tcp_recv socket %d\n", self->sck))
return 1;
+ }
}
else if (rcvd == 0)
+ {
+ DEBUG((" error = 0 in xrdp_tcp_recv socket %d\n", self->sck))
return 1;
+ }
else
{
self->in_s->end += rcvd;
@@ -87,6 +96,7 @@ int xrdp_tcp_send(struct xrdp_tcp* self)
int sent;
len = self->out_s->end - self->out_s->data;
+ DEBUG((" in xrdp_tcp_send, gota send %d bytes\n", len))
total = 0;
while (total < len)
{
@@ -98,10 +108,16 @@ int xrdp_tcp_send(struct xrdp_tcp* self)
if (g_tcp_last_error_would_block(self->sck))
g_sleep(1);
else
+ {
+ DEBUG((" error = -1 in xrdp_tcp_send socket %d\n", self->sck))
return 1;
+ }
}
else if (sent == 0)
+ {
+ DEBUG((" error = 0 in xrdp_tcp_send socket %d\n", self->sck))
return 1;
+ }
else
total = total + sent;
}