X-Git-Url: http://lists.indexdata.dk/cgi-bin?a=blobdiff_plain;f=queue.c;h=a0ac72d282ea3ea6cb4e3fb2dbffa8e000347df6;hb=641274e7f15702b5c3cbd36694c79183c8508725;hp=9de46636dcc6494be512a6bb53a02ac6ff1f9167;hpb=6ddbb3991cc5ad6089410078695f574b2bd8388e;p=ir-tcl-moved-to-github.git diff --git a/queue.c b/queue.c index 9de4663..a0ac72d 100644 --- a/queue.c +++ b/queue.c @@ -6,7 +6,21 @@ * Sebastian Hammer, Adam Dickmeiss * * $Log: queue.c,v $ - * Revision 1.3 1995-08-04 11:32:40 adam + * Revision 1.7 1996-02-19 15:41:55 adam + * Better log messages. + * Minor improvement of connect method. + * + * Revision 1.6 1996/02/06 09:22:54 adam + * Ported ir-tcl to use beta releases of tcl7.5/tk4.1. + * + * Revision 1.5 1995/11/28 13:53:40 quinn + * Windows port. + * + * Revision 1.4 1995/10/17 12:18:59 adam + * Bug fix: when target connection closed, the connection was not + * properly reestablished. + * + * Revision 1.3 1995/08/04 11:32:40 adam * More work on output queue. Memory related routines moved * to mem.c * @@ -32,7 +46,7 @@ int ir_tcl_send_APDU (Tcl_Interp *interp, IrTcl_Obj *p, Z_APDU *apdu, if (!z_APDU (p->odr_out, &apdu, 0)) { - Tcl_AppendResult (interp, odr_errlist [odr_geterror (p->odr_out)], + Tcl_AppendResult (interp, odr_errmsg (odr_geterror (p->odr_out)), NULL); odr_reset (p->odr_out); return TCL_ERROR; @@ -53,12 +67,15 @@ int ir_tcl_send_APDU (Tcl_Interp *interp, IrTcl_Obj *p, Z_APDU *apdu, odr_reset (p->odr_out); if (p->state == IR_TCL_R_Idle) { + logf (LOG_DEBUG, "send_apdu. Sending %s", msg); if (ir_tcl_send_q (p, p->request_queue, msg) == TCL_ERROR) { sprintf (interp->result, "cs_put failed in %s", msg); return TCL_ERROR; } } + else + logf (LOG_DEBUG, "send_apdu. Not idle (%s)", msg); return TCL_OK; } @@ -72,13 +89,18 @@ int ir_tcl_send_q (IrTcl_Obj *p, IrTcl_Request *rp, const char *msg) return TCL_ERROR; else if (r == 1) { +#if IRTCL_GENERIC_FILES + ir_select_add_write (p->csFile, p); +#else ir_select_add_write (cs_fileno (p->cs_link), p); +#endif logf (LOG_DEBUG, "Send part of %s", msg); p->state = IR_TCL_R_Writing; } else { - logf (LOG_DEBUG, "Send %s (%d bytes)", msg, rp->len_out); + logf (LOG_DEBUG, "Send %s (%d bytes) fd=%d", msg, rp->len_out, + cs_fileno(p->cs_link)); p->state = IR_TCL_R_Waiting; free (rp->buf_out); rp->buf_out = NULL;