Subversion Repositories Kolibri OS

Compare Revisions

Regard whitespace Rev 3388 → Rev 3389

/kernel/branches/net/network/stack.inc
264,8 → 264,6
cmp [NET_RUNNING], 0
je .exit
 
call TCP_process_input ; de-queue TCP ragments and process them
 
; Test for 10ms tick
mov eax, [timer_ticks]
cmp eax, [net_10ms]
/kernel/branches/net/network/tcp.inc
137,6 → 137,7
; TCP_bytes_tx rq MAX_NET_DEVICES
TCP_sequence_num dd ?
TCP_queue rd TCP_QUEUE_SIZE*sizeof.TCP_queue_entry/4
TCP_input_event dd ?
endg
 
 
159,6 → 160,11
 
init_queue TCP_queue
 
push 1
pop ebx
mov ecx, TCP_process_input
call new_sys_threads
 
}
 
 
/kernel/branches/net/network/tcp_input.inc
49,6 → 49,14
popf
 
add esp, sizeof.TCP_queue_entry
 
mov [check_idle_semaphore], 5
xor edx, edx
mov eax, [TCP_input_event]
mov ebx, [eax + EVENT.id]
xor esi, esi
call raise_event
 
ret
 
.fail:
60,7 → 68,7
add esp, sizeof.TCP_queue_entry - 8
call kernel_free
add esp, 4
.done:
 
ret
 
 
68,9 → 76,17
align 4
TCP_process_input:
 
xor esi, esi
mov ecx, MANUAL_DESTROY
call create_event
mov [TCP_input_event], eax
 
.loop:
get_from_queue TCP_queue, TCP_QUEUE_SIZE, sizeof.TCP_queue_entry, TCP_input.done
mov eax, [TCP_input_event]
call wait_event
 
get_from_queue TCP_queue, TCP_QUEUE_SIZE, sizeof.TCP_queue_entry, .loop
 
push .loop
push [esi + TCP_queue_entry.buffer_size]
push [esi + TCP_queue_entry.buffer_ptr]