Commit Graph
2145 Commits
Author SHA1 Message Date
isaacs 5979f096d1 Fix #3242 Actually deprecate 'binary' buffer encoding 2012-05-09 10:08:54 -07:00
Ben Noordhuis 7d2e68fdbd stream_wrap: fix compilation errors 2012-05-09 06:06:42 +02:00
Bert Belder b673d0670f Net.js: fix UCS2 write crash due to inconsistent naming 2012-05-09 04:58:26 +02:00
Bert Belder 4624cf1214 stream_wrap.cc: fix typo 2012-05-09 04:34:41 +02:00
Bert Belder 726ebad9bc StreamWrap::WriteBuffer: remove superfluous arguments 2012-05-09 04:00:02 +02:00
Bert Belder 0e57aafbb1 Optimize writing strings with Socket.write 2012-05-09 03:56:19 +02:00
Ben Noordhuis 78e831a31c Don't use _snprintf() on Windows, it's not safe.
_snprintf() doesn't zero-terminate the buffer on overflow. Use the hand-rolled
version that lives in src/node_internals.h.
2012-05-08 16:02:14 +02:00
Marcel Laverdet c33d3174b8 node: un-revert 9a6012e
The crashes in debug mode after adding Locker are *not* caused by
Locker. Locker is merely exposing issues that already existed. Some of
these issues have since been fixed in 70635753.

This reverts commit 407181538b.
This reapplies commit 9a6012edd9.

Conflicts:
	src/node.cc
2012-05-05 00:56:17 +02:00
Ben Noordhuis e4a8d2617b addon: add AtExit() function
Lets native addons register exit hooks that run after the event loop has quit
but before the VM is killed.

Fixes #3147.
2012-05-03 16:11:42 +02:00
Igor Zinkovsky 6f82b9f482 64bit offsets for fs calls 2012-05-02 22:39:23 -07:00
Ben Noordhuis 880219645e tcp, udp: share sockaddr-to-object function
Share AddressToJS() function between tcp_wrap.cc and udp_wrap.cc.
2012-05-02 18:03:25 +02:00
Nathan Rajlich b894521bd2 process: ensure that "exit" doesn't get emitted twice on a natural exit
Fixes "test/simple/test-process-exit.js".
2012-05-01 14:09:31 -07:00
Fedor Indutny 9f9c333cbc vm: accept only object as arg of .createContext()
Converting strings and others to objects is very slow and essentially
wrong.
2012-05-02 01:59:59 +07:00
Ben Noordhuis b45a10818e udp: slightly optimize address family property 2012-05-01 15:19:30 +02:00
Ben Noordhuis e747daf604 udp: make variable names consistent 2012-05-01 14:52:00 +02:00
Shigeki Ohtsu 94f1feeb59 udp: make getsockname() return address family name 2012-05-01 14:50:17 +02:00
Nathan Rajlich 248f552ab4 process: ensure that the "exit" event always has "code" given
Upon "normal" exiting of Node (i.e. the event loop completes naturally),
the "code" parameter was not being passed to the "exit" event listeners.

Be consistent. Tests included.
2012-04-30 10:42:13 -07:00
Bert Belder 3bcbd14bb1 process_wrap: don't use uv_spawn2
It was a temporary thing for the 0.6 branch only.
2012-04-29 00:24:51 +02:00
Bert Belder c8a10e97c8 Merge branch 'v0.6'
Conflicts:
	deps/uv/include/uv-private/uv-unix.h
	deps/uv/include/uv-private/uv-win.h
	deps/uv/src/uv-common.c
	deps/uv/src/win/fs.c
	src/process_wrap.cc
2012-04-29 00:17:23 +02:00
ssuda db844b152a process: don't use strdup()
file and cwd can be directly used from Utf8Value.

Conflicts:

	src/process_wrap.cc
2012-04-28 23:51:41 +02:00
Bert Belder 3546383cf0 process_wrap: avoid leaking memory when throwing due to invalid arguments 2012-04-28 23:36:47 +02:00
Bert Belder 55e4d54927 Child process: support the gid and uid options 2012-04-27 22:13:00 +02:00
Marcel Laverdet 70635753a3 Cleanup vm module memory leakage
There are some paths here that led to dangling contexts. By being
smarter with handle management we can get rid of all the cleanup code
and fix those issues.
2012-04-27 10:32:40 -07:00
Nathan Rajlich 98b4596a46 process: lint 2012-04-25 20:10:50 -07:00
Ben Noordhuis 5648d95c4a Remove unused local variable. 2012-04-25 04:10:31 -07:00
Nathan Rajlich 6292df659f process: comment for consistency 2012-04-24 11:31:26 -07:00
Nathan Rajlich ef3a874f41 process: set _print_eval even when --eval is not passed
This is for scripts being fed from stdin:

  $ echo "{ foo: 'bar' }" | node -p
2012-04-24 11:31:02 -07:00
Nathan Rajlich 0b5235e68c process: make --eval and reading scripts from stdin act the same
Reusing the same logic for both places for the behavior is consistent.

For example:

  $ ./node -p -e "'Hello World'"
  Hello World

  $ echo "'Hello World'" | ./node -p
  Hello World
2012-04-24 11:30:14 -07:00
isaacs c9a231db0e typo in node_http_parser 2012-04-18 13:01:33 -07:00
isaacs ecca7525cc Merge remote-tracking branch 'ry/v0.6' into master
Conflicts:
	AUTHORS
	ChangeLog
	LICENSE
	Makefile
	deps/http_parser/test.c
	deps/npm/AUTHORS
	deps/npm/html/api/bin.html
	deps/npm/html/api/bugs.html
	deps/npm/html/api/commands.html
	deps/npm/html/api/config.html
	deps/npm/html/api/deprecate.html
	deps/npm/html/api/docs.html
	deps/npm/html/api/edit.html
	deps/npm/html/api/explore.html
	deps/npm/html/api/help-search.html
	deps/npm/html/api/init.html
	deps/npm/html/api/install.html
	deps/npm/html/api/link.html
	deps/npm/html/api/load.html
	deps/npm/html/api/ls.html
	deps/npm/html/api/npm.html
	deps/npm/html/api/outdated.html
	deps/npm/html/api/owner.html
	deps/npm/html/api/pack.html
	deps/npm/html/api/prefix.html
	deps/npm/html/api/prune.html
	deps/npm/html/api/publish.html
	deps/npm/html/api/rebuild.html
	deps/npm/html/api/restart.html
	deps/npm/html/api/root.html
	deps/npm/html/api/run-script.html
	deps/npm/html/api/search.html
	deps/npm/html/api/shrinkwrap.html
	deps/npm/html/api/start.html
	deps/npm/html/api/stop.html
	deps/npm/html/api/submodule.html
	deps/npm/html/api/tag.html
	deps/npm/html/api/test.html
	deps/npm/html/api/uninstall.html
	deps/npm/html/api/unpublish.html
	deps/npm/html/api/update.html
	deps/npm/html/api/version.html
	deps/npm/html/api/view.html
	deps/npm/html/api/whoami.html
	deps/npm/html/doc/README.html
	deps/npm/html/doc/adduser.html
	deps/npm/html/doc/bin.html
	deps/npm/html/doc/bugs.html
	deps/npm/html/doc/build.html
	deps/npm/html/doc/bundle.html
	deps/npm/html/doc/cache.html
	deps/npm/html/doc/changelog.html
	deps/npm/html/doc/coding-style.html
	deps/npm/html/doc/completion.html
	deps/npm/html/doc/config.html
	deps/npm/html/doc/deprecate.html
	deps/npm/html/doc/developers.html
	deps/npm/html/doc/disputes.html
	deps/npm/html/doc/docs.html
	deps/npm/html/doc/edit.html
	deps/npm/html/doc/explore.html
	deps/npm/html/doc/faq.html
	deps/npm/html/doc/folders.html
	deps/npm/html/doc/help-search.html
	deps/npm/html/doc/help.html
	deps/npm/html/doc/index.html
	deps/npm/html/doc/init.html
	deps/npm/html/doc/install.html
	deps/npm/html/doc/json.html
	deps/npm/html/doc/link.html
	deps/npm/html/doc/list.html
	deps/npm/html/doc/npm.html
	deps/npm/html/doc/outdated.html
	deps/npm/html/doc/owner.html
	deps/npm/html/doc/pack.html
	deps/npm/html/doc/prefix.html
	deps/npm/html/doc/prune.html
	deps/npm/html/doc/publish.html
	deps/npm/html/doc/rebuild.html
	deps/npm/html/doc/registry.html
	deps/npm/html/doc/removing-npm.html
	deps/npm/html/doc/restart.html
	deps/npm/html/doc/root.html
	deps/npm/html/doc/run-script.html
	deps/npm/html/doc/scripts.html
	deps/npm/html/doc/search.html
	deps/npm/html/doc/semver.html
	deps/npm/html/doc/shrinkwrap.html
	deps/npm/html/doc/star.html
	deps/npm/html/doc/start.html
	deps/npm/html/doc/stop.html
	deps/npm/html/doc/submodule.html
	deps/npm/html/doc/tag.html
	deps/npm/html/doc/test.html
	deps/npm/html/doc/uninstall.html
	deps/npm/html/doc/unpublish.html
	deps/npm/html/doc/update.html
	deps/npm/html/doc/version.html
	deps/npm/html/doc/view.html
	deps/npm/html/doc/whoami.html
	deps/npm/lib/npm.js
	deps/npm/man/man1/npm.1
	deps/npm/man/man3/npm.3
	deps/npm/node_modules/fstream-npm/fstream-npm.js
	deps/npm/node_modules/fstream-npm/node_modules/fstream-ignore/package.json
	deps/npm/node_modules/fstream-npm/package.json
	deps/npm/node_modules/node-gyp/LICENSE
	deps/npm/node_modules/node-gyp/lib/build.js
	deps/npm/node_modules/node-gyp/lib/install.js
	deps/npm/node_modules/node-gyp/node_modules/ansi/package.json
	deps/npm/node_modules/node-gyp/node_modules/glob/package.json
	deps/npm/node_modules/node-gyp/package.json
	deps/npm/package.json
	deps/uv/test/test-fs.c
	deps/v8/src/regexp-macro-assembler-tracer.cc
	deps/v8/src/version.cc
	src/node_version.h
	src/platform_sunos.cc
	test/simple/test-net-write-after-close.js
	wscript
2012-04-18 11:57:54 -07:00
isaacs 0fcb124602 Now working on 0.7.9 2012-04-18 11:17:29 -07:00
isaacs c2b47097c0 2012.04.18, Version 0.7.8, (unstable)
* Upgrade V8 to 3.9.24.9

* Upgrade OpenSSL to 1.0.0f

* Upgrade npm to 1.1.18

* Show licenses in Binary installers

* Domains (isaacs)

* readline: rename "end" to "close" (Nathan Rajlich)

* tcp: make getsockname() return address family as string (Shigeki Ohtsu)

* http, https: fix .setTimeout() (ssuda)

* os: add cross platform EOL character (Mustansir Golawala)

* typed arrays: unexport SizeOfArrayElementForType() (Aaron Jacobs)

* net: honor 'enable' flag in .setNoDelay() (Ben Noordhuis)

* child_process: emit error when .kill fails (Andreas Madsen)

* gyp: fix 'argument list too long' build error (Ben Noordhuis)

* fs.WriteStream: Handle modifications to fs.open (isaacs)

* repl, readline: Handle newlines better (Nathan Rajlich, Nathan Friedly)

* build: target OSX 10.5 when building on darwin (Nathan Rajlich)

* Fix #3052 Handle errors properly in zlib (isaacs)

* build: add support for DTrace and postmortem (Dave Pacheco)

* core: add reusable Slab allocator (Ben Noordhuis)
2012-04-18 09:37:18 -07:00
isaacs 7b3fb22290 typo in node_http_parser 2012-04-18 09:36:45 -07:00
isaacs d4ed2e61f7 Add Todo comments about domain-ifying crypto 2012-04-17 13:14:55 -07:00
isaacs 10ce3d129d Domain hooks in ReqWrap<T> and MakeCallback 2012-04-17 13:14:55 -07:00
isaacs 963459d736 Domain feature
This is a squashed commit of the main work done on the domains-wip branch.

The original commit messages are preserved for posterity:

* Implicitly add EventEmitters to active domain
* Implicitly add timers to active domain
* domain: add members, remove ctor cb
* Don't hijack bound callbacks for Domain error events
* Add dispose method
* Add domain.remove(ee) method
* A test of multiple domains in process at once
* Put the active domain on the process object
* Only intercept error arg if explicitly requested
* Typo
* Don't auto-add new domains to the current domain

    While an automatic parent/child relationship is sort of neat,
    and leads to some nice error-bubbling characteristics, it also
    results in keeping a reference to every EE and timer created,
    unless domains are explicitly disposed of.

* Explicitly adding one domain to another is still fine, of course.
* Don't allow circular domain->domain memberships
* Disposing of a domain removes it from its parent
* Domain disposal turns functions into no-ops
* More documentation of domains
* More thorough dispose() semantics
* An example using domains in an HTTP server
* Don't handle errors on a disposed domain
* Need to push, even if the same domain is entered multiple times
* Array.push is too slow for the EE Ctor
* lint domain
* domain: docs
* Also call abort and destroySoon to clean up event emitters
* domain: Wrap destroy methods in a try/catch
* Attach tick callbacks to active domain
* domain: Only implicitly bind timers, not explicitly
* domain: Don't fire timers when disposed.
* domain: Simplify naming so that MakeCallback works on Timers
* Add setInterval and nextTick to domain test
* domain: Make stack private
2012-04-17 13:14:55 -07:00
isaacs a26bee8fa1 MakeCallback: Consistent symbol usage 2012-04-17 13:14:54 -07:00
isaacs db45b2ca02 MakeCallback: Use in node_signal_watcher 2012-04-17 12:00:58 -07:00
isaacs e1dd570585 MakeCallback: Use in node_io_watcher 2012-04-17 12:00:58 -07:00
isaacs 35c0cd219d MakeCallback: Use in node_crypto 2012-04-17 12:00:58 -07:00
isaacs 91701c2db1 MakeCallback: Use in node_file.cc 2012-04-17 12:00:58 -07:00
isaacs 88f94fa28c MakeCallback: abort() if not a function 2012-04-17 12:00:58 -07:00
isaacs ac1aaddc00 MakeCallback: Return the callback return value 2012-04-17 11:56:33 -07:00
isaacs 7407be896e MakeCallback: Accept Function or Symbol argument 2012-04-17 11:56:32 -07:00
isaacs 80a55e9c83 Report errors thrown from uncaughtException handers 2012-04-17 11:56:32 -07:00
Shigeki Ohtsu 0d13142332 tcp: make getsockname() return address family as string 2012-04-16 18:00:47 +02:00
Ben Noordhuis 3f4261276e node: don't check return value of unsetenv()
It returns void on some platforms, notably FreeBSD.
2012-04-16 14:16:48 +02:00
Aaron Jacobs 1444801374 typed arrays: unexport SizeOfArrayElementForType()
It isn't used anywhere else, so made it an implementation detail in
v8_typed_array.cc.
2012-04-12 23:48:49 +02:00
Ben Noordhuis 16fca262be net: honor 'enable' flag in .setNoDelay()
Fixes #3096.
2012-04-12 19:15:32 +02:00
Bert Belder 3ec84a11f8 Slab allocator: don't attempt to shrink a non-buffer 2012-04-11 22:02:12 +02:00