[Yazlist] Problerm on bend_init in YAZ toolkit
adam at indexdata.dk
Tue Aug 30 22:14:10 CEST 2005
> My Yaz Z39.50 Server runs om Windows 2k, programmed by Visual C++.Net
> ,using the YAZ toolkit of C interface. i found a problerm:
> Open YAZ Client, type command "open localhost:9999/mydb", then my server is
> connected. my function bend_init was called, and i allocate an handle to
> the session.
> When type command "init" on the same connection in the yaz command prompt later,
> the bend_init was called again by the YAZ framework. But it does not provide
> the handle just assigned.
> So the prior session will live in the whole life of the server, even if the
> connection was closed by the client. That's no means to locate the session
> in the bend_init because no handle provided.
All true. Note that Z39.50 allows exactly one Initialize Request in a
session. So none/multiple is not standard behavior.
> can the bend_init function provide an handle just assigned in the begining
> of the connection ?
We changed the GFS code so that bend_close gets called before bend_init
if bend_init previously returned non-NULL for that TCP/IP session. It
seems more proper than just keeping it open. For example, there might be
other user authentication to consider.. In fact I don't see why Z39.50
could allow multiple Z39.50 sessions within one TCP/IP session.
Fixed in next YAZ release. Whenever we release that.
> thank you
> Yazlist mailing list
> Yazlist at indexdata.dk
More information about the Yazlist