[Ace-users] Re: A bug ACE_SSL_Asynch_Stream::close().

Alex libman at terabit.com.au
Wed Jun 27 13:36:51 CDT 2007


Hi,
It is  not an error, it worked as designed.
Once  ACE_SSL_Asynch_Stream is open, it migrates from state
SF_STREAM_OPEN to
the state SF_STREAM_DELETE_ENABLE.  Only it that state you can delete
it .
When internal raw streams have no more pending operations, user
handler
receives handle_wakeup()  notification, that means stream is in
SF_STREAM_DELETE_ENABLE
state. Pls, keep in mind that close() has asynchronous semantic, i.e.
it initiates the closure, but
it does mean that stream would be immediately closed.
Alex

> > ACE_SSL_Asynch_Stream::close() always returns -1.
>
> >     DESCRIPTION:
> >     Calling ACE_SSL_Asynch_Stream::close() (once
> > ACE_SSL_Asynch_Stream
> > is opened) always returns -1
> > because the SF_STREAM_OPEN flag is never cleared.This means
> > that calling
> > close() will never set
> > the SF_DELETE_ENABLE flag.
>
> >     SAMPLE FIX/WORKAROUND:
> >     SF_STREAM_OPEN flag should be cleared somewhere. I am not
> > quite sure
> > what would be the best place
> > to do that (possibly at the end of
> > ACE_SSL_Asynch_Stream::do_SSL_shutdown ()? ).
>
> > _______________________________________________
> > ace-bugs mailing list
> > ace-b... at mail.cse.wustl.edu
> >http://mail.cse.wustl.edu/mailman/listinfo/ace-bugs

It



More information about the Ace-users mailing list