aboutsummaryrefslogtreecommitdiff
path: root/src/library.js
diff options
context:
space:
mode:
authorAnthony Pesch <inolen@gmail.com>2013-08-31 14:42:18 -0700
committerAnthony Pesch <inolen@gmail.com>2013-08-31 14:42:18 -0700
commit51587f3c8800500483d8102d8a270a45e5dfc834 (patch)
treef1bbd1afdd260d371ce839146b4111d000c17c54 /src/library.js
parent52dae3e9b26dd8b4c6ce7989505c41532c090051 (diff)
- refactored accept code to automatically setup peers for incoming connections immediately upon connect. previously, this wasn't done until the server called accept, creating a small window of time for peer message events to be lost
- renamed send_queue to dgram_send_queue just so its purpose is more clear
Diffstat (limited to 'src/library.js')
-rw-r--r--src/library.js9
1 files changed, 3 insertions, 6 deletions
diff --git a/src/library.js b/src/library.js
index 2c60c8ba..1d94d006 100644
--- a/src/library.js
+++ b/src/library.js
@@ -8129,23 +8129,20 @@ LibraryManager.library = {
}
},
- accept__deps: ['$FS', '$SOCKFS', '$DNS', '$ERRNO_CODES', '__setErrNo', '_write_sockaddr', 'socket'],
+ accept__deps: ['$FS', '$SOCKFS', '$DNS', '$ERRNO_CODES', '__setErrNo', '_write_sockaddr'],
accept: function(fd, addrp, addrlen) {
var sock = SOCKFS.getSocket(fd);
if (!sock) {
___setErrNo(ERRNO_CODES.EBADF);
return -1;
}
- var newfd = _socket(sock.family, sock.type, sock.protocol);
- var newsock = SOCKFS.getSocket(newfd);
- assert(newsock);
try {
- sock.sock_ops.accept(sock, newsock, sock.stream.flags);
+ var newsock = sock.sock_ops.accept(sock);
if (addrp) {
var res = __write_sockaddr(addr, newsock.family, DNS.lookup_name(newsock.daddr), newsock.dport);
assert(!res.errno);
}
- return newfd;
+ return newsock.stream.fd;
} catch (e) {
FS.handleFSError(e);
return -1;