mirror of https://github.com/nodejs/node.git
commit
860cb906a6
40
ChangeLog
40
ChangeLog
|
@ -1,3 +1,43 @@
|
|||
2011.05.20, Version 0.4.8 (stable)
|
||||
|
||||
* #974 Properly report traceless errors (isaacs)
|
||||
|
||||
* #983 Better JSON.parse error detection in REPL (isaacs)
|
||||
|
||||
* #836 Agent socket errors bubble up to req only if req exists
|
||||
|
||||
* #1041 Fix event listener leak check timing (koichik)
|
||||
|
||||
* #1038 Fix dns.resolve() with 'PTR' throws Error: Unknown type "PTR"
|
||||
(koichik)
|
||||
|
||||
* #1073 Share SSL context between server connections (Fedor Indutny)
|
||||
|
||||
* Disable compression with OpenSSL. Improves memory perf.
|
||||
|
||||
* Implement os.totalmem() and os.freemem() for SunOS (Alexandre Marangone)
|
||||
|
||||
* Fix a special characters in URL regression (isaacs)
|
||||
|
||||
* Fix idle timeouts in HTTPS (Felix Geisendörfer)
|
||||
|
||||
* SlowBuffer.write() with 'ucs2' throws ReferenceError. (koichik)
|
||||
|
||||
* http.ServerRequest 'close' sometimes gets an error argument
|
||||
(Felix Geisendörfer)
|
||||
|
||||
* Doc improvements
|
||||
|
||||
* cleartextstream.destroy() should close(2) the socket. Previously was being
|
||||
mapped to a shutdown(2) syscall.
|
||||
|
||||
* No longer compile out asserts and debug statements in normal build.
|
||||
|
||||
* Debugger improvements.
|
||||
|
||||
* Upgrade V8 to 3.1.8.16.
|
||||
|
||||
|
||||
2011.04.22, Version 0.4.7 (stable)
|
||||
|
||||
* Don't emit error on ECONNRESET from read() #670
|
||||
|
|
|
@ -585,6 +585,7 @@ enum CompareResult {
|
|||
|
||||
class StringStream;
|
||||
class ObjectVisitor;
|
||||
class Failure;
|
||||
|
||||
struct ValueInfo : public Malloced {
|
||||
ValueInfo() : type(FIRST_TYPE), ptr(NULL), str(NULL), number(0) { }
|
||||
|
@ -611,6 +612,10 @@ class MaybeObject BASE_EMBEDDED {
|
|||
*obj = reinterpret_cast<Object*>(this);
|
||||
return true;
|
||||
}
|
||||
inline Failure* ToFailureUnchecked() {
|
||||
ASSERT(IsFailure());
|
||||
return reinterpret_cast<Failure*>(this);
|
||||
}
|
||||
inline Object* ToObjectUnchecked() {
|
||||
ASSERT(!IsFailure());
|
||||
return reinterpret_cast<Object*>(this);
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
// Copyright 2006-2008 the V8 project authors. All rights reserved.
|
||||
// Copyright 2011 the V8 project authors. All rights reserved.
|
||||
// Redistribution and use in source and binary forms, with or without
|
||||
// modification, are permitted provided that the following conditions are
|
||||
// met:
|
||||
|
@ -740,6 +740,7 @@ Failure* Top::ReThrow(MaybeObject* exception, MessageLocation* location) {
|
|||
|
||||
// Set the exception being re-thrown.
|
||||
set_pending_exception(exception);
|
||||
if (exception->IsFailure()) return exception->ToFailureUnchecked();
|
||||
return Failure::Exception();
|
||||
}
|
||||
|
||||
|
|
|
@ -35,7 +35,7 @@
|
|||
#define MAJOR_VERSION 3
|
||||
#define MINOR_VERSION 1
|
||||
#define BUILD_NUMBER 8
|
||||
#define PATCH_LEVEL 14
|
||||
#define PATCH_LEVEL 16
|
||||
#define CANDIDATE_VERSION false
|
||||
|
||||
// Define SONAME to have the SCons build the put a specific SONAME into the
|
||||
|
|
|
@ -1379,7 +1379,7 @@ void Assembler::jmp(NearLabel* L) {
|
|||
EnsureSpace ensure_space(this);
|
||||
last_pc_ = pc_;
|
||||
if (L->is_bound()) {
|
||||
const int short_size = sizeof(int8_t);
|
||||
const int short_size = 2;
|
||||
int offs = L->pos() - pc_offset();
|
||||
ASSERT(offs <= 0);
|
||||
ASSERT(is_int8(offs - short_size));
|
||||
|
|
|
@ -104,12 +104,13 @@ when the server has been bound.
|
|||
Start a server listening for connections on the given file descriptor.
|
||||
|
||||
This file descriptor must have already had the `bind(2)` and `listen(2)` system
|
||||
calls invoked on it.
|
||||
calls invoked on it. Additionally, it must be set non-blocking; try
|
||||
`fcntl(fd, F_SETFL, O_NONBLOCK)`.
|
||||
|
||||
#### server.pause(msecs)
|
||||
|
||||
Stop accepting connections for the given number of milliseconds (default is
|
||||
one second). This could be useful for throttling new connections against
|
||||
Stop accepting connections for the given number of milliseconds (default is
|
||||
one second). This could be useful for throttling new connections against
|
||||
DoS attacks or other oversubscription.
|
||||
|
||||
#### server.close()
|
||||
|
|
|
@ -26,7 +26,7 @@
|
|||
<li><a href="#download">Download</a></li>
|
||||
<li><a href="https://github.com/joyent/node/raw/v0.4/ChangeLog">ChangeLog</a></li>
|
||||
<li><a href="#about">About</a></li>
|
||||
<li><a href="http://nodejs.org/docs/v0.4.7/api">v0.4.7 docs</a></li>
|
||||
<li><a href="http://nodejs.org/docs/v0.4.8/api">v0.4.8 docs</a></li>
|
||||
<br/>
|
||||
<li><a href="https://github.com/joyent/node/wiki">Wiki</a></li>
|
||||
<li><a href="http://blog.nodejs.org/">Blog</a></li>
|
||||
|
@ -108,9 +108,9 @@ server.listen(1337, "127.0.0.1");
|
|||
</p>
|
||||
|
||||
<p>
|
||||
2011.04.22
|
||||
<a href="http://nodejs.org/dist/node-v0.4.7.tar.gz">node-v0.4.7.tar.gz</a>
|
||||
(<a href="http://nodejs.org/docs/v0.4.7/api/index.html">Documentation</a>)
|
||||
2011.05.20
|
||||
<a href="http://nodejs.org/dist/node-v0.4.8.tar.gz">node-v0.4.8.tar.gz</a>
|
||||
(<a href="http://nodejs.org/docs/v0.4.8/api/index.html">Documentation</a>)
|
||||
</p>
|
||||
|
||||
<p>Historical: <a href="http://nodejs.org/dist">versions</a>, <a href="http://nodejs.org/docs">docs</a></p>
|
||||
|
|
|
@ -1089,7 +1089,11 @@ function connectionListener(socket) {
|
|||
// When we're finished writing the response, check if this is the last
|
||||
// respose, if so destroy the socket.
|
||||
res.on('finish', function() {
|
||||
assert(incoming[0] === req);
|
||||
// Usually the first incoming element should be our request. it may
|
||||
// be that in the case abortIncoming() was called that the incoming
|
||||
// array will be empty.
|
||||
assert(incoming.length == 0 || incoming[0] === req);
|
||||
|
||||
incoming.shift();
|
||||
|
||||
res.detachSocket(socket);
|
||||
|
|
2
wscript
2
wscript
|
@ -875,7 +875,7 @@ def build(bld):
|
|||
, 'CPPFLAGS' : " ".join(program.env["CPPFLAGS"]).replace('"', '\\"')
|
||||
, 'LIBFLAGS' : " ".join(program.env["LIBFLAGS"]).replace('"', '\\"')
|
||||
, 'PREFIX' : safe_path(program.env["PREFIX"])
|
||||
, 'VERSION' : '0.4.7' # FIXME should not be hard-coded, see NODE_VERSION_STRING in src/node_version.
|
||||
, 'VERSION' : '0.4.8' # FIXME should not be hard-coded, see NODE_VERSION_STRING in src/node_version.
|
||||
}
|
||||
return x
|
||||
|
||||
|
|
Loading…
Reference in New Issue