/*
- * Copyright (c) 1998-2000, Index Data.
+ * Copyright (c) 1998-2001, Index Data.
* See the file LICENSE for details.
*
* $Log: yaz-z-assoc.cpp,v $
- * Revision 1.14 2000-09-12 16:40:33 heikki
+ * Revision 1.19 2001-03-27 14:47:45 adam
+ * New server facility scheme.
+ *
+ * Revision 1.18 2001/03/26 14:43:49 adam
+ * New threaded PDU association.
+ *
+ * Revision 1.17 2001/01/04 14:25:25 heikki
+ * No SIGPIPES in windows...
+ *
+ * Revision 1.16 2000/12/14 16:00:39 adam
+ * Ignoring signal SIGPIPE.
+ *
+ * Revision 1.15 2000/10/11 11:58:17 adam
+ * Moved header files to include/yaz++. Switched to libtool and automake.
+ * Configure script creates yaz++-config script.
+ *
+ * Revision 1.14 2000/09/12 16:40:33 heikki
* minor
*
* Revision 1.13 2000/09/08 10:23:42 adam
*/
#include <assert.h>
+#include <signal.h>
#include <yaz/log.h>
-#include <yaz-z-assoc.h>
+#include <yaz++/yaz-z-assoc.h>
#include <yaz/otherinfo.h>
int Yaz_Z_Assoc::yaz_init_func()
{
+#ifndef WIN32
+ signal (SIGPIPE, SIG_IGN);
+#endif
nmem_init();
return 1;
}
{
recv_Z_PDU (apdu);
}
+ else
+ {
+ close();
+ }
}
Z_APDU *Yaz_Z_Assoc::create_Z_PDU(int type)
int Yaz_Z_Assoc::encode_Z_PDU(Z_APDU *apdu, char **buf, int *len)
{
+ if (m_APDU_file)
+ z_APDU(m_odr_print, &apdu, 0, "encode");
if (!z_APDU(m_odr_out, &apdu, 0, 0))
{
logf (LOG_LOG, "yaz_Z_Assoc::encode_Z_PDU failed");
return -1;
}
- if (m_APDU_file)
- z_APDU(m_odr_print, &apdu, 0, "encode");
*buf = odr_getbuf (m_odr_out, len, 0);
odr_reset (m_odr_out);
return *len;
{
Z_ReferenceId* id = NULL;
- if ( str )
+ if (str)
{
id = (Z_ReferenceId*) odr_malloc (m_odr_out, sizeof(*id));
id->size = id->len = strlen(str);
id->buf = (unsigned char *) str;
}
-
return id;
}