Hi,

Hello Patrick,
>
> > But if I signal the main thread from the callback, to free the
> > resources, the callback might be switched out directly after this
> > signal, and the main thread might free the resources before the
> > callback ended and the axis framework used them.
>
> Yes, this is a pretty serious limitation.  I have been trying to find
> out if Axis2/C provides a way to either know the thread id of the
> communication threads created internally or to be notified exactly when
> the threads exit.  As you suggest, this is treated as an implementation
> detail and we are expected to code without a precise notification of
> when these threads finishes their tasks.
>
> It sounds like you would like to free resources on a per-call basis.  Is
> that right?  I'm quite new to the Axis2/C architecture so perhaps a more
> experienced person could suggest a mechanism that would fit into the
> existing methodology and provide this extra feature.  My impression is
> that the design philosophy so far is to free resources after all calls
> are completed.
>

Current implementation does not provide a way to free resources on a
per-call basis. I agree with Patrick, we should provide a callback to free
the resources.

Regards,
Shankar


>
>
> > With the fd_set in winsock and the select() function, you can wait
> > at a maximum of 64 (current implementation) sockets at once.
> > With I/O Completion Ports you can use one thread for an infinite
> > number of ports... But I think they don't fit well in the modular
> > (transportation) design of axis
>
> That's very interesting.  I'm curious as to more of the details of how
> this functions... If you have one thread waiting on 12 sockets and want
> to make a new call, can this thread begin the next call, or does a
> second thread open the socket and pass the job of waiting on it to the
> first thread?
>
> I think we would all agree that your use case would benefit from adding
> this capability to Axis2/C.  You mention a potential conflict with the
> modular design of Axis; there is also the idea that making such a
> powerful feature accessible to the average programmer using Axis could
> be a challenge.  Maybe the solution would be to add a new communication
> mode instead of changing all asynchronous communication to
> one-thread-multi-socket.  I wish I understood the Axis2/C architecture
> more fully because this would be an interesting area to contribute.
>
> The pleasure is all mine in this conversation.  So far I am learning
> more about winsock :)
>  _____
>
> "Ce message est confidentiel, a l'usage exclusif du destinataire
> ci-dessus et son contenu ne represente en aucun cas un engagement de la
> part de AXA, sauf en cas de stipulation expresse et par ecrit de la part
> de AXA. Toute publication, utilisation ou diffusion, meme partielle,
> doit etre autorisee prealablement. Si vous n'etes pas destinataire de ce
> message, merci d'en avertir immediatement l'expediteur."
>
> "This e-mail message is confidential, for the exclusive use of the
> addressee and its contents shall not constitute a commitment by AXA,
> except as otherwise specifically provided in writing by AXA. Any
> unauthorized disclosure, use or dissemination, either whole or partial,
> is prohibited. If you are not the intended recipient of the message,
> please notify the sender immediately."
>



-- 
S.Uthaiyashankar
Software Architect
WSO2 Inc.
http://wso2.com/ - "The Open Source SOA Company"

Reply via email to