<feed xmlns='http://www.w3.org/2005/Atom'>
<title>delta/node.git/src/node.js, branch move-debugger-tests</title>
<subtitle>github.com: joyent/node.git
</subtitle>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/node.git/'/>
<entry>
<title>node: AsyncListener use separate storage mechanism</title>
<updated>2014-01-09T21:47:03+00:00</updated>
<author>
<name>Trevor Norris</name>
<email>trev.norris@gmail.com</email>
</author>
<published>2014-01-03T22:02:51+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/node.git/commit/?id=646ac18d7933412dae672d6826154c1eb08d4e82'/>
<id>646ac18d7933412dae672d6826154c1eb08d4e82</id>
<content type='text'>
Before when an AsyncListener object was created and the "create"
callback returned a value, it was necessary to construct a new Object
with the same callbacks but add a place for the new storage value.

Now, instead, a separate storage array is kept on the context which is
used for any return value of the "create" callback. This significantly
reduces the number of Objects that need to be created.

Also added a flags property to the context to quickly check if a
specific callback was available either on the context or on the
AsyncListener instance itself.

Few other minor changes for readability that were difficult to separate
into their own commit.

This has not been optimized yet.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Before when an AsyncListener object was created and the "create"
callback returned a value, it was necessary to construct a new Object
with the same callbacks but add a place for the new storage value.

Now, instead, a separate storage array is kept on the context which is
used for any return value of the "create" callback. This significantly
reduces the number of Objects that need to be created.

Also added a flags property to the context to quickly check if a
specific callback was available either on the context or on the
AsyncListener instance itself.

Few other minor changes for readability that were difficult to separate
into their own commit.

This has not been optimized yet.
</pre>
</div>
</content>
</entry>
<entry>
<title>src: revert domain using AsyncListeners</title>
<updated>2014-01-09T21:25:20+00:00</updated>
<author>
<name>Trevor Norris</name>
<email>trev.norris@gmail.com</email>
</author>
<published>2014-01-09T19:11:40+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/node.git/commit/?id=828f14556e0daeae7fdac08fceaa90952de63f73'/>
<id>828f14556e0daeae7fdac08fceaa90952de63f73</id>
<content type='text'>
This is a slightly modified revert of bc39bdd.

Getting domains to use AsyncListeners became too much of a challenge
with many edge cases. While this is still a goal, it will have to be
deferred for now until more test coverage can be provided.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This is a slightly modified revert of bc39bdd.

Getting domains to use AsyncListeners became too much of a challenge
with many edge cases. While this is still a goal, it will have to be
deferred for now until more test coverage can be provided.
</pre>
</div>
</content>
</entry>
<entry>
<title>node: properly check uid when adding AsyncListener</title>
<updated>2014-01-04T00:48:11+00:00</updated>
<author>
<name>Trevor Norris</name>
<email>trev.norris@gmail.com</email>
</author>
<published>2014-01-04T00:46:09+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/node.git/commit/?id=a40b46367406deb0e3c67dff8c5d609d1334519b'/>
<id>a40b46367406deb0e3c67dff8c5d609d1334519b</id>
<content type='text'>
Instead of checking the uid on the array index of the queue, instead the
object property "uid" was checked on the queue iteself. Because this
will always evaluate to "undefined" the same listener could be added
multiple times to the same context.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Instead of checking the uid on the array index of the queue, instead the
object property "uid" was checked on the queue iteself. Because this
will always evaluate to "undefined" the same listener could be added
multiple times to the same context.
</pre>
</div>
</content>
</entry>
<entry>
<title>node: change AsyncListener API</title>
<updated>2014-01-03T21:20:23+00:00</updated>
<author>
<name>Trevor Norris</name>
<email>trev.norris@gmail.com</email>
</author>
<published>2014-01-03T00:40:30+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/node.git/commit/?id=d9fc6af32a50684930b04f0f2b701eb2fd62192b'/>
<id>d9fc6af32a50684930b04f0f2b701eb2fd62192b</id>
<content type='text'>
There was a flaw in the old API that has been fixed. Now the
asyncListener callback is now the "create" object property in the
callback object, and is optional.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
There was a flaw in the old API that has been fixed. Now the
asyncListener callback is now the "create" object property in the
callback object, and is optional.
</pre>
</div>
</content>
</entry>
<entry>
<title>Merge remote-tracking branch 'upstream/v0.10'</title>
<updated>2013-12-07T05:27:18+00:00</updated>
<author>
<name>Timothy J Fontaine</name>
<email>tjfontaine@gmail.com</email>
</author>
<published>2013-12-07T05:27:18+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/node.git/commit/?id=fcca3585fea09ab4a5a86628dceeb248ff82b1ff'/>
<id>fcca3585fea09ab4a5a86628dceeb248ff82b1ff</id>
<content type='text'>
Conflicts:
	lib/tls.js
	src/node.js
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Conflicts:
	lib/tls.js
	src/node.js
</pre>
</div>
</content>
</entry>
<entry>
<title>process: document kill(0), disallow kill(O_RDWR)</title>
<updated>2013-12-02T18:41:37+00:00</updated>
<author>
<name>Sam Roberts</name>
<email>sam@strongloop.com</email>
</author>
<published>2013-10-11T05:28:01+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/node.git/commit/?id=8aac118b69a10a134e57e8e066c56ba7370d25cc'/>
<id>8aac118b69a10a134e57e8e066c56ba7370d25cc</id>
<content type='text'>
The null signal test existed, but only tested the case where the target
process existed, not when it did not exist.

Also clarified that SIGUSR1 is reserved by Node.js only for receiveing,
its not at all reserved when sending a signal with kill().

kill(pid, 'O_RDWR'), or any other node constant, "worked". I fixed this
by also checking for 'SIG'. The same as done in the isSignal() function.
Now the signal names supported by process.kill() are the same as those
supported by process.on().
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
The null signal test existed, but only tested the case where the target
process existed, not when it did not exist.

Also clarified that SIGUSR1 is reserved by Node.js only for receiveing,
its not at all reserved when sending a signal with kill().

kill(pid, 'O_RDWR'), or any other node constant, "worked". I fixed this
by also checking for 'SIG'. The same as done in the isSignal() function.
Now the signal names supported by process.kill() are the same as those
supported by process.on().
</pre>
</div>
</content>
</entry>
<entry>
<title>node: fix removing AsyncListener in callback</title>
<updated>2013-11-23T19:16:16+00:00</updated>
<author>
<name>Vladimir Kurchatkin</name>
<email>vladimir.kurchatkin@gmail.com</email>
</author>
<published>2013-11-21T10:04:39+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/node.git/commit/?id=16a402c0b5444b167887a20bb44c2ab53aacb97c'/>
<id>16a402c0b5444b167887a20bb44c2ab53aacb97c</id>
<content type='text'>
context._asyncQueue shouldn't be exposed as asyncQueue, as it allows
modification of queues already attached to an event. Which is not
supposed to happend. Instead context._asyncQueue should be copied.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
context._asyncQueue shouldn't be exposed as asyncQueue, as it allows
modification of queues already attached to an event. Which is not
supposed to happend. Instead context._asyncQueue should be copied.
</pre>
</div>
</content>
</entry>
<entry>
<title>node: allow nextTick infinite recursion</title>
<updated>2013-11-21T23:01:53+00:00</updated>
<author>
<name>Trevor Norris</name>
<email>trev.norris@gmail.com</email>
</author>
<published>2013-11-21T22:41:40+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/node.git/commit/?id=5757642e912c0a4de6476fc766748b6e33ac845b'/>
<id>5757642e912c0a4de6476fc766748b6e33ac845b</id>
<content type='text'>
Removing the depth counter while processing the nextTickQueue made it
possible to run out of memory if in an infinite recursive loop using
nextTick(). There was also an edge case where too many callbacks were
pushed onto the nextTickQueue, while not actually being recursive.

This is being done to prevent possible cryptic FATAL ERROR messages from
popping up, and issues being posted about them.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Removing the depth counter while processing the nextTickQueue made it
possible to run out of memory if in an infinite recursive loop using
nextTick(). There was also an edge case where too many callbacks were
pushed onto the nextTickQueue, while not actually being recursive.

This is being done to prevent possible cryptic FATAL ERROR messages from
popping up, and issues being posted about them.
</pre>
</div>
</content>
</entry>
<entry>
<title>domain: use AsyncListener API</title>
<updated>2013-10-31T23:34:35+00:00</updated>
<author>
<name>Trevor Norris</name>
<email>trev.norris@gmail.com</email>
</author>
<published>2013-10-29T23:35:32+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/node.git/commit/?id=bc39bdd995d70238eea4a217386869d94c69f614'/>
<id>bc39bdd995d70238eea4a217386869d94c69f614</id>
<content type='text'>
The domain module has been switched over to use the domain module API as
much as currently possible. There are still some hooks in the
EventEmitter, but hopefully we can remove those in the future.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
The domain module has been switched over to use the domain module API as
much as currently possible. There are still some hooks in the
EventEmitter, but hopefully we can remove those in the future.
</pre>
</div>
</content>
</entry>
<entry>
<title>node: add AsyncListener support</title>
<updated>2013-10-31T21:17:51+00:00</updated>
<author>
<name>Trevor Norris</name>
<email>trev.norris@gmail.com</email>
</author>
<published>2013-09-24T21:12:11+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/node.git/commit/?id=efa62fd9cc817434206d9fd8592b7bbeaa240e9c'/>
<id>efa62fd9cc817434206d9fd8592b7bbeaa240e9c</id>
<content type='text'>
AsyncListener is a JS API that works in tandem with the AsyncWrap class
to allow the user to be alerted to key events in the life cycle of an
asynchronous event. The AsyncWrap class has its own MakeCallback
implementation that core will be migrated to use, and uses state sharing
techniques to allow quicker communication between JS and C++ whether the
async event callbacks need to be called.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
AsyncListener is a JS API that works in tandem with the AsyncWrap class
to allow the user to be alerted to key events in the life cycle of an
asynchronous event. The AsyncWrap class has its own MakeCallback
implementation that core will be migrated to use, and uses state sharing
techniques to allow quicker communication between JS and C++ whether the
async event callbacks need to be called.
</pre>
</div>
</content>
</entry>
</feed>
