void InitOskitTCP() {
OS_DbgPrint(OSK_MID_TRACE,("Init Called\n"));
KeInitializeSpinLock(&OSKLock);
- OS_DbgPrint(OSK_MID_TRACE,("MB Init\n"));
- mbinit();
OS_DbgPrint(OSK_MID_TRACE,("Rawip Init\n"));
rip_init();
raw_init();
if( !error ) {
so->so_connection = context;
so->so_state |= SS_NBIO;
+ so->so_options |= SO_DONTROUTE;
*aso = so;
}
OSKUnlock();
int OskitTCPClose( void *socket ) {
int error;
- struct socket *so = socket;
if (!socket)
return OSK_ESHUTDOWN;
OSKLock();
- /* We have to remove the socket context here otherwise we end up
- * back in HandleSignalledConnection with a freed connection context
- */
- so->so_connection = NULL;
error = soclose( socket );
OSKUnlock();
so->so_state |= SS_NBIO | SS_ISCONNECTED;
so->so_q = so->so_q0 = NULL;
- so->so_qlen = 0;
+ so->so_qlen = so->so_q0len = 0;
so->so_head = 0;
so->so_connection = context;