diff options
author | Anthony Pesch <inolen@gmail.com> | 2013-08-31 14:42:18 -0700 |
---|---|---|
committer | Anthony Pesch <inolen@gmail.com> | 2013-08-31 14:42:18 -0700 |
commit | 51587f3c8800500483d8102d8a270a45e5dfc834 (patch) | |
tree | f1bbd1afdd260d371ce839146b4111d000c17c54 /src/library.js | |
parent | 52dae3e9b26dd8b4c6ce7989505c41532c090051 (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.js | 9 |
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; |