Compare commits
3 Commits
5d62fa3f10
...
ba6229b92d
| Author | SHA1 | Date | |
|---|---|---|---|
| ba6229b92d | |||
| 3d2362cb5f | |||
| a08b9b82a6 |
@@ -1,9 +1,9 @@
|
|||||||
.global asm_yield_trampoline
|
.global asm_yield_trampoline
|
||||||
asm_yield_trampoline:
|
asm_yield_trampoline:
|
||||||
movl %esp, %ecx
|
leal 4(%esp), %ecx
|
||||||
movl 4(%esp), %esp
|
movl 4(%esp), %esp
|
||||||
|
|
||||||
pushl (%ecx)
|
pushl -4(%ecx)
|
||||||
pushl %ecx
|
pushl %ecx
|
||||||
pushl %eax
|
pushl %eax
|
||||||
pushl %ebx
|
pushl %ebx
|
||||||
|
|||||||
@@ -1,10 +1,10 @@
|
|||||||
.global asm_yield_trampoline
|
.global asm_yield_trampoline
|
||||||
asm_yield_trampoline:
|
asm_yield_trampoline:
|
||||||
movq %rsp, %rcx
|
leaq 8(%rsp), %rcx
|
||||||
movq %rdi, %rsp
|
movq %rdi, %rsp
|
||||||
|
|
||||||
subq $8, %rsp
|
subq $8, %rsp
|
||||||
pushq (%rcx)
|
pushq -8(%rcx)
|
||||||
pushq %rcx
|
pushq %rcx
|
||||||
pushq %rax
|
pushq %rax
|
||||||
pushq %rbx
|
pushq %rbx
|
||||||
|
|||||||
@@ -95,8 +95,8 @@ namespace Kernel
|
|||||||
}
|
}
|
||||||
|
|
||||||
return_inode->m_mutex.lock();
|
return_inode->m_mutex.lock();
|
||||||
memcpy(&return_inode->m_address, &connection.target.address, connection.target.address_len);
|
memcpy(&return_inode->m_address, &m_address, m_address_len);
|
||||||
return_inode->m_address_len = connection.target.address_len;
|
return_inode->m_address_len = m_address_len;
|
||||||
return_inode->m_listen_parent = this;
|
return_inode->m_listen_parent = this;
|
||||||
return_inode->m_connection_info.emplace(connection.target);
|
return_inode->m_connection_info.emplace(connection.target);
|
||||||
return_inode->m_recv_window.start_seq = connection.target_start_seq;
|
return_inode->m_recv_window.start_seq = connection.target_start_seq;
|
||||||
@@ -562,6 +562,7 @@ namespace Kernel
|
|||||||
));
|
));
|
||||||
|
|
||||||
epoll_notify(EPOLLIN);
|
epoll_notify(EPOLLIN);
|
||||||
|
m_thread_blocker.unblock();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
@@ -573,14 +574,11 @@ namespace Kernel
|
|||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
auto socket = it->value;
|
auto socket = it->value;
|
||||||
|
|
||||||
m_mutex.unlock();
|
m_mutex.unlock();
|
||||||
socket->receive_packet(buffer, sender, sender_len);
|
socket->receive_packet(buffer, sender, sender_len);
|
||||||
m_mutex.lock();
|
m_mutex.lock();
|
||||||
|
|
||||||
return;
|
|
||||||
}
|
}
|
||||||
break;
|
return;
|
||||||
case State::Established:
|
case State::Established:
|
||||||
check_payload = true;
|
check_payload = true;
|
||||||
if (!(header.flags & FIN))
|
if (!(header.flags & FIN))
|
||||||
|
|||||||
@@ -14,12 +14,6 @@ configure() {
|
|||||||
done
|
done
|
||||||
popd
|
popd
|
||||||
|
|
||||||
pushd 3rdparty/vorbis/vorbis-src || exit 1
|
|
||||||
for patch in ../../../../patches/vorbis/*; do
|
|
||||||
git apply $patch
|
|
||||||
done
|
|
||||||
popd
|
|
||||||
|
|
||||||
./waf configure -T release || exit 1
|
./waf configure -T release || exit 1
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user