Ben Noordhuis ca363cf1ae debugger: make busy loops SIGUSR1-interruptible
Commit 30e5366b ("core: Use a uv_signal for debug listener") changed
SIGUSR1 handling from a signal handler to libuv's uv_signal_*()
functionality to fix a race condition (and possible hang) in the
signal handler.

While a good change in itself, it made it impossible to interrupt
long running scripts.  When a script is stuck in a busy loop, control
never returns to the event loop, which in turn means the signal
callback - and therefore the debugger - is never invoked.

This commit changes SIGUSR1 handling back to a normal signal handler
but one that treads _very_ carefully.
2013-10-16 20:24:13 +02:00
2013-10-08 13:49:22 -07:00
2013-10-16 09:44:46 -07:00
2013-03-19 20:07:38 +01:00
2013-06-17 17:21:56 +02:00
2013-08-10 15:46:06 +02:00
2013-08-10 13:18:07 +02:00

Evented I/O for V8 javascript.

To build:

Prerequisites (Unix only):

* GCC 4.2 or newer
* Python 2.6 or 2.7
* GNU Make 3.81 or newer
* libexecinfo (FreeBSD and OpenBSD only)

Unix/Macintosh:

./configure
make
make install

If your python binary is in a non-standard location or has a non-standard name, run the following instead:

export PYTHON=/path/to/python
$PYTHON ./configure
make
make install

Prerequisites (Windows only):

* Python 2.6 or 2.7
* Visual Studio 2010 or 2012

Windows:

vcbuild nosign

To run the tests:

Unix/Macintosh:

make test

Windows:

vcbuild test

To build the documentation:

make doc

To read the documentation:

man doc/node.1

Resources for Newcomers

Description
Node.js JavaScript runtime 🐢🚀 nodejs.org
Readme Multiple Licenses 1.4 GiB
Languages
JavaScript 62.4%
C++ 23.1%
Python 10.1%
C 2.7%
HTML 0.6%
Other 0.9%