Author: Pekka Riikonen <priikone@silcnet.org>
- Copyright (C) 2006 - 2007 Pekka Riikonen
+ Copyright (C) 2006 - 2008 Pekka Riikonen
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
socket, which is done automatically by the Active Scheduler in blocking
mode. */
-#include "silc.h"
+#include "silcruntime.h"
#include "silcsymbiansocketstream.h"
/***************************** Socket Classes *******************************/
{
SILC_LOG_DEBUG(("Send()"));
s->sock->Send(buf, 0, iStatus, ret_len);
- SetActive();
+ if (!IsActive())
+ SetActive();
}
/* Send data */
tmp = (TText *)remote_ip;
if (remote.Input(tmp) == KErrNone) {
s->sock->SendTo(buf, remote, 0, iStatus, ret_len);
- SetActive();
+ if (!IsActive())
+ SetActive();
}
}
{
SILC_LOG_DEBUG(("Read()"));
- if (!s->stream || s->stream->connected)
+ if (s->stream && s->stream->connected)
s->sock->RecvOneOrMore(inbuf, 0, iStatus, read_len);
else
s->sock->RecvFrom(inbuf, remote, 0, iStatus);
- SetActive();
+ if (!IsActive())
+ SetActive();
}
/* Reading callback */
silc_free(stream);
return NULL;
}
+ stream->send->s = stream;
stream->receive = new SilcSymbianSocketReceive;
if (!stream->receive) {
silc_free(stream);
return NULL;
}
+ stream->receive->s = stream;
stream->receive->inbuf_ptr = NULL;
stream->receive->inbuf_len = 0;