Mike Magruder 05871951f0 Debugger: cleanup server-side when the client disconnects while in run mode
Server-side cleanup was all driven by having a request thread see that either the connection with the client is closed, or the stopped flag on the proxy is set. However, if a debugger's in the run state and there's just no incoming requests against the right sandbox, then that would never happen. However, the signal polling thread is perfect to notice, there were just issues coordinating the cleanup of the proxy.

Modified stop() on the proxy to be callable from any thread, and to initiate cleanup of the proxy but pass the final cleanup off to another thread which can complete it. The signal polling and dummy sandbox threads are owned by the proxy, so they can't complete the work themselves. There was logic to queue cleanup just for the dummy sandbox, so I turned that into proxy cleanup and have it cleanup both.

I'll investigate making a unit test using the new framework that will test this, but that will come in a later diff since this diff is already quite involved.
2013-07-26 11:31:16 -07:00
2013-06-13 12:13:09 -07:00
2013-07-23 16:42:21 -07:00
2010-02-19 18:02:34 -08:00
2010-02-19 18:02:34 -08:00
2013-06-04 18:01:44 -07:00

HipHop VM for PHP Build Status

HipHop VM (HHVM) is a new open-source virtual machine designed for executing programs written in PHP. HHVM uses a just-in-time compilation approach to achieve superior performance while maintaining the flexibility that PHP developers are accustomed to. HipHop VM (and before it HPHPc) has realized > 5x increase in throughput for Facebook compared with Zend PHP 5.2.

HipHop is most commonly run as a standalone server, replacing both Apache and modphp.

Installing

You can install a prebuilt package or compile from source.

Running

You can run standalone programs just by passing them to hhvm: hhvm my_script.php.

HipHop bundles in a webserver. So if you want to run on port 80 in the current directory:

sudo hhvm -m server

For anything more complicated, you'll want to make a config.hdf and run sudo hhvm -m server -c config.hdf.

Contributing

We'd love to have your help in making HipHop better. If you run into problems, please open an issue, or better yet, fork us and send a pull request. Join us on #hhvm on freenode.

If you want to help but don't know where to start, try fixing some of the Zend tests that don't pass. You can run them with hphp/test/run. When they work, move them to zend/good and send a pull request.

Before changes can be accepted a Contributors Licensing Agreement (pdf - print, sign, scan, link) must be signed.

Licence

HipHop VM is licensed under the PHP and Zend licenses except as otherwise noted.

S
Descrição
Descrição não fornecida
Readme 99 MiB
Linguagens
C++ 59.4%
PHP 34.1%
C 4.1%
Hack 1.4%
CMake 0.3%
Outra 0.6%