projects
/
ir-tcl-moved-to-github.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
|
inline
| side by side (parent:
0d087b0
)
Yet another Windows port.
author
Adam Dickmeiss
<adam@indexdata.dk>
Thu, 27 Jun 1996 14:21:00 +0000
(14:21 +0000)
committer
Adam Dickmeiss
<adam@indexdata.dk>
Thu, 27 Jun 1996 14:21:00 +0000
(14:21 +0000)
ir-tcl.c
patch
|
blob
|
history
diff --git
a/ir-tcl.c
b/ir-tcl.c
index
745c11d
..
e4ee047
100644
(file)
--- a/
ir-tcl.c
+++ b/
ir-tcl.c
@@
-5,7
+5,10
@@
* Sebastian Hammer, Adam Dickmeiss
*
* $Log: ir-tcl.c,v $
* Sebastian Hammer, Adam Dickmeiss
*
* $Log: ir-tcl.c,v $
- * Revision 1.89 1996-06-11 15:27:15 adam
+ * Revision 1.90 1996-06-27 14:21:00 adam
+ * Yet another Windows port.
+ *
+ * Revision 1.89 1996/06/11 15:27:15 adam
* Event type set to connect a little earlier in the do_connect function.
*
* Revision 1.88 1996/06/03 09:04:22 adam
* Event type set to connect a little earlier in the do_connect function.
*
* Revision 1.88 1996/06/03 09:04:22 adam
@@
-3643,7
+3646,7
@@
static void ir_select_read (ClientData clientData)
/*
* ir_select_write: handle outgoing packages - not yet written.
*/
/*
* ir_select_write: handle outgoing packages - not yet written.
*/
-static void ir_select_write (ClientData clientData)
+static int ir_select_write (ClientData clientData)
{
IrTcl_Obj *p = clientData;
int r;
{
IrTcl_Obj *p = clientData;
int r;
@@
-3657,7
+3660,7
@@
static void ir_select_write (ClientData clientData)
if (r == 1)
{
logf (LOG_DEBUG, "cs_rcvconnect returned 1");
if (r == 1)
{
logf (LOG_DEBUG, "cs_rcvconnect returned 1");
- return;
+ return 2;
}
p->state = IR_TCL_R_Idle;
p->ref_count = 2;
}
p->state = IR_TCL_R_Idle;
p->ref_count = 2;
@@
-3672,16
+3675,16
@@
static void ir_select_write (ClientData clientData)
ir_tcl_eval (p->interp, p->failback);
}
ir_obj_delete (p);
ir_tcl_eval (p->interp, p->failback);
}
ir_obj_delete (p);
- return;
+ return 2;
}
if (p->callback)
ir_tcl_eval (p->interp, p->callback);
ir_obj_delete (p);
}
if (p->callback)
ir_tcl_eval (p->interp, p->callback);
ir_obj_delete (p);
- return;
+ return 2;
}
rq = p->request_queue;
if (!rq || !rq->buf_out)
}
rq = p->request_queue;
if (!rq || !rq->buf_out)
- return;
+ return 0;
assert (rq);
if ((r=cs_put (p->cs_link, rq->buf_out, rq->len_out)) < 0)
{
assert (rq);
if ((r=cs_put (p->cs_link, rq->buf_out, rq->len_out)) < 0)
{
@@
-3705,14
+3708,20
@@
static void ir_select_write (ClientData clientData)
free (rq->buf_out);
rq->buf_out = NULL;
}
free (rq->buf_out);
rq->buf_out = NULL;
}
+ return 1;
}
static void ir_select_notify (ClientData clientData, int r, int w, int e)
{
}
static void ir_select_notify (ClientData clientData, int r, int w, int e)
{
- if (r)
+ if (w)
+ {
+ if (!ir_select_write (clientData) && r)
+ ir_select_read (clientData);
+ }
+ else if (r)
+ {
ir_select_read (clientData);
ir_select_read (clientData);
- else if (w)
- ir_select_write (clientData);
+ }
}
/* ------------------------------------------------------- */
}
/* ------------------------------------------------------- */