Merge branch 'v0.4'
Conflicts: src/node_version.h
This commit is contained in:
commit
7dad30afe9
1
AUTHORS
1
AUTHORS
@ -161,3 +161,4 @@ Joe Walnes <joe@walnes.com>
|
||||
Koichi Kobayashi <koichik@improvement.jp>
|
||||
Daniel Gröber <dxld@darkboxed.org>
|
||||
Konstantin Käfer <github@kkaefer.com>
|
||||
Richard Rodger <richard@ricebridge.com>
|
||||
|
32
ChangeLog
32
ChangeLog
@ -1,6 +1,36 @@
|
||||
2011.02.19, Version 0.4.1 (stable)
|
||||
|
||||
* Fixed field merging with progressive fields on writeHead()
|
||||
(TJ Holowaychuk)
|
||||
|
||||
* Make the repl respect node_modules folders (isaacs)
|
||||
|
||||
* Fix for DNS fail in HTTP request (Richard Rodger)
|
||||
|
||||
* Default to port 80 for http.request and http.get.
|
||||
|
||||
* Improve V8 support for Cygwin (Bert Belder)
|
||||
|
||||
* Fix fs.open param parsing. (Felix Geisendörfer)
|
||||
|
||||
* Fixed null signal.
|
||||
|
||||
* Fix various HTTP and HTTPS bugs
|
||||
|
||||
* cmake improvements (Tom Hughes)
|
||||
|
||||
* Fix: TLS sockets should not be writable after 'end'
|
||||
|
||||
* Fix os.cpus() on cygwin (Brian White)
|
||||
|
||||
* MinGW: OpenSSL support (Bert Belder)
|
||||
|
||||
* Upgrade V8 to 3.1.5, libev to 4.4.
|
||||
|
||||
|
||||
2011.02.10, Version 0.4.0 (stable)
|
||||
|
||||
* require() improvements (isaacs)
|
||||
* require() improvements (isaacs)
|
||||
- understand package.json (isaacs)
|
||||
- look for 'node_modules' dir
|
||||
|
||||
|
@ -20,7 +20,7 @@
|
||||
<li><a href="#download">Download</a></li>
|
||||
<li><a href="https://github.com/ry/node/raw/master/ChangeLog">ChangeLog</a></li>
|
||||
<li><a href="#about">About</a></li>
|
||||
<li><a href="http://nodejs.org/docs/v0.4.0/api">v0.4.0 docs</a></li>
|
||||
<li><a href="http://nodejs.org/docs/v0.4.1/api">v0.4.1 docs</a></li>
|
||||
<br/>
|
||||
<li><B><a href="https://github.com/ry/node/wiki">Wiki</a></B></li>
|
||||
</ol>
|
||||
@ -90,9 +90,9 @@ net.createServer(function (socket) {
|
||||
</p>
|
||||
|
||||
<p>
|
||||
2011.02.10
|
||||
<a href="http://nodejs.org/dist/node-v0.4.0.tar.gz">node-v0.4.0.tar.gz</a>
|
||||
(<a href="http://nodejs.org/docs/v0.4.0/api/index.html">Documentation</a>)
|
||||
2011.02.19
|
||||
<a href="http://nodejs.org/dist/node-v0.4.1.tar.gz">node-v0.4.1.tar.gz</a>
|
||||
(<a href="http://nodejs.org/docs/v0.4.1/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>
|
||||
|
@ -921,6 +921,9 @@ ReadStream.prototype.resume = function() {
|
||||
this.buffer = null;
|
||||
}
|
||||
|
||||
// hasn't opened yet.
|
||||
if (null == this.fd) return;
|
||||
|
||||
this._read();
|
||||
};
|
||||
|
||||
|
@ -1282,7 +1282,8 @@ Agent.prototype._establishNewConnection = function() {
|
||||
// but outgoingFlush instead.
|
||||
if (!req.shouldKeepAlive) {
|
||||
debug('AGENT socket.end()');
|
||||
socket.end();
|
||||
if (socket.writable) socket.end();
|
||||
assert(!socket.writable);
|
||||
} else {
|
||||
debug('AGENT socket keep-alive');
|
||||
}
|
||||
|
@ -553,6 +553,9 @@ SecurePair.prototype._destroy = function() {
|
||||
this._ssl.close();
|
||||
this._ssl = null;
|
||||
|
||||
self.encrypted.writable = self.encrypted.readable = false;
|
||||
self.cleartext.writable = self.cleartext.readable = false;
|
||||
|
||||
process.nextTick(function() {
|
||||
self.encrypted.emit('end');
|
||||
if (self.encrypted.onend) self.encrypted.onend();
|
||||
|
@ -99,8 +99,7 @@ static inline char* _getProcessTitle() {
|
||||
if (GetLastError()) {
|
||||
_winapi_perror("GetConsoleTitleW");
|
||||
return NULL;
|
||||
}
|
||||
else {
|
||||
} else {
|
||||
// The title is empty, so return empty string
|
||||
process_title = strdup("\0");
|
||||
return process_title;
|
||||
@ -252,6 +251,7 @@ int Platform::GetExecutablePath(char* buffer, size_t* size) {
|
||||
}
|
||||
|
||||
int Platform::GetCPUInfo(Local<Array> *cpus) {
|
||||
HandleScope scope;
|
||||
Local<Object> cpuinfo;
|
||||
Local<Object> cputimes;
|
||||
unsigned int ticks = (unsigned int)sysconf(_SC_CLK_TCK),
|
||||
@ -285,14 +285,17 @@ int Platform::GetCPUInfo(Local<Array> *cpus) {
|
||||
|
||||
if (fpStat) {
|
||||
while (fgets(line, 511, fpStat) != NULL) {
|
||||
if (strncmp(line, "cpu ", 4) == 0)
|
||||
if (strncmp(line, "cpu ", 4) == 0) {
|
||||
continue;
|
||||
else if (strncmp(line, "intr ", 5) == 0)
|
||||
} else if (strncmp(line, "cpu", 3) != 0) {
|
||||
break;
|
||||
}
|
||||
|
||||
sscanf(line, "%*s %llu %llu %llu %llu",
|
||||
&ticks_user, &ticks_nice, &ticks_sys, &ticks_idle);
|
||||
snprintf(speedPath, sizeof(speedPath),
|
||||
"/sys/devices/system/cpu/cpu%u/cpufreq/cpuinfo_max_freq", i);
|
||||
|
||||
fpSpeed = fopen(speedPath, "r");
|
||||
if (fpSpeed) {
|
||||
if (fgets(line, 511, fpSpeed) != NULL) {
|
||||
@ -355,4 +358,5 @@ int Platform::GetLoadAvg(Local<Array> *loads) {
|
||||
return -1;
|
||||
}
|
||||
|
||||
|
||||
} // namespace node
|
||||
|
@ -183,15 +183,19 @@ int Platform::GetCPUInfo(Local<Array> *cpus) {
|
||||
|
||||
if (fpStat) {
|
||||
while (fgets(line, 511, fpStat) != NULL) {
|
||||
if (strncmp(line, "cpu ", 4) == 0)
|
||||
if (strncmp(line, "cpu ", 4) == 0) {
|
||||
continue;
|
||||
else if (strncmp(line, "intr ", 5) == 0)
|
||||
} else if (strncmp(line, "cpu", 3) != 0) {
|
||||
break;
|
||||
}
|
||||
|
||||
sscanf(line, "%*s %llu %llu %llu %llu %*llu %llu",
|
||||
&ticks_user, &ticks_nice, &ticks_sys, &ticks_idle, &ticks_intr);
|
||||
snprintf(speedPath, sizeof(speedPath),
|
||||
"/sys/devices/system/cpu/cpu%u/cpufreq/cpuinfo_max_freq", i);
|
||||
|
||||
fpSpeed = fopen(speedPath, "r");
|
||||
|
||||
if (fpSpeed) {
|
||||
if (fgets(line, 511, fpSpeed) != NULL) {
|
||||
sscanf(line, "%u", &cpuspeed);
|
||||
@ -199,6 +203,7 @@ int Platform::GetCPUInfo(Local<Array> *cpus) {
|
||||
}
|
||||
fclose(fpSpeed);
|
||||
}
|
||||
|
||||
cpuinfo = Object::New();
|
||||
cputimes = Object::New();
|
||||
cputimes->Set(String::New("user"), Number::New(ticks_user * multiplier));
|
||||
|
31
test/disabled/test-https-loop-to-google.js
Normal file
31
test/disabled/test-https-loop-to-google.js
Normal file
@ -0,0 +1,31 @@
|
||||
// Failing test for https
|
||||
|
||||
// Will fail with "socket hang up" for 4 out of 10 requests
|
||||
// Tested on node 0.5.0-pre commit 9851574
|
||||
|
||||
|
||||
var https = require('https');
|
||||
|
||||
for(var i = 0; i < 10; ++i)
|
||||
{
|
||||
https.get(
|
||||
{
|
||||
host: 'www.google.com',
|
||||
path: '/accounts/o8/id',
|
||||
port: 443,
|
||||
}, function(res)
|
||||
{
|
||||
var data = '';
|
||||
res.on('data', function(chunk)
|
||||
{
|
||||
data += chunk;
|
||||
});
|
||||
res.on('end', function()
|
||||
{
|
||||
console.log(res.statusCode);
|
||||
});
|
||||
}).on('error', function(error)
|
||||
{
|
||||
console.log(error);
|
||||
});
|
||||
}
|
@ -119,3 +119,8 @@ stream.on('data', function(chunk) {
|
||||
stream.on('end', function() {
|
||||
assert.equal('x', stream.data);
|
||||
});
|
||||
|
||||
// pause and then resume immediately.
|
||||
var pauseRes = fs.createReadStream(rangeFile);
|
||||
pauseRes.pause();
|
||||
pauseRes.resume();
|
||||
|
@ -52,8 +52,6 @@ var server = net.createServer(function(socket) {
|
||||
|
||||
socket.on('end', function() {
|
||||
log('socket end');
|
||||
pair.cleartext.write('goodbye\r\n');
|
||||
pair.cleartext.end();
|
||||
});
|
||||
|
||||
pair.cleartext.on('error', function(err) {
|
||||
@ -117,7 +115,7 @@ server.listen(common.PORT, function() {
|
||||
}
|
||||
});
|
||||
|
||||
client.stdout.pipe(process.stdout);
|
||||
client.stdout.pipe(process.stdout, { end: false });
|
||||
|
||||
client.on('exit', function(code) {
|
||||
opensslExitCode = code;
|
||||
|
2
wscript
2
wscript
@ -824,7 +824,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.0' # FIXME should not be hard-coded, see NODE_VERSION_STRING in src/node_version.
|
||||
, 'VERSION' : '0.4.1' # FIXME should not be hard-coded, see NODE_VERSION_STRING in src/node_version.
|
||||
}
|
||||
return x
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user