summaryrefslogtreecommitdiffstats
path: root/base/process_util_posix.cc
Commit message (Collapse)AuthorAgeFilesLines
* Move debug-related stuff from base to the base/debug directory and use thebrettw@chromium.org2010-10-261-2/+2
| | | | | | | | | | | | | | | | base::debug namespace. This splits apart debug_util into base/debugger and base/stack_trace There are still two functions in debug_util that I'm not sure what to do with. Since this uses the base::debug namespace, I removed the functions in debugger.h from the static class and just made them free functions in the namespace. TEST=it compiles BUG=none Review URL: http://codereview.chromium.org/3945002 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@63859 0039d316-1c4b-4281-b951-d872f2087c98
* Revert 63067 - This adds some plumbing for propagating the status and error ↵gspencer@chromium.org2010-10-191-24/+17
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | code of a renderer process that went away so that we can tell at the UI level what happened to the tab: did it crash, or was it killed by the OOM killer (or some other reason). This is in preparation for implementing a new UI for when a process is killed by the OOM on ChromeOS which handles it differently from a crash. Most of the changes are modifications of the argument list to include a status and error code for the exited process, but in addition the following was done: - Changed the name of DidProcessCrash to GetTerminationStatus. - Added some new enum values to TerminationStatus enum (and named it) in process_util.h, so it can be used as the status returned by WhatHappenedToProcess. - Improved process_util_unittest to actually test for crashing and terminated processes on all platforms. - Added a new notification for renderers that were killed. - Added error code information to crash notification. - Added status and error code information to renderer IPC message for RenderViewGone. - Added a UMA histogram count for number of renderer kills. [This change was previously reviewed and LGTM'd: http://codereview.chromium.org/3386014/show but due to issues with "git cl push" was never committed to the tree.] BUG=none TEST=ran new unit test. Test passes on try servers. Review URL: http://codereview.chromium.org/3869001 TBR=gspencer@chromium.org git-svn-id: svn://svn.chromium.org/chrome/trunk/src@63074 0039d316-1c4b-4281-b951-d872f2087c98
* This adds some plumbing for propagating the status and error code of agspencer@chromium.org2010-10-191-17/+24
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | renderer process that went away so that we can tell at the UI level what happened to the tab: did it crash, or was it killed by the OOM killer (or some other reason). This is in preparation for implementing a new UI for when a process is killed by the OOM on ChromeOS which handles it differently from a crash. Most of the changes are modifications of the argument list to include a status and error code for the exited process, but in addition the following was done: - Changed the name of DidProcessCrash to GetTerminationStatus. - Added some new enum values to TerminationStatus enum (and named it) in process_util.h, so it can be used as the status returned by WhatHappenedToProcess. - Improved process_util_unittest to actually test for crashing and terminated processes on all platforms. - Added a new notification for renderers that were killed. - Added error code information to crash notification. - Added status and error code information to renderer IPC message for RenderViewGone. - Added a UMA histogram count for number of renderer kills. [This change was previously reviewed and LGTM'd: http://codereview.chromium.org/3386014/show but due to issues with "git cl push" was never committed to the tree.] BUG=none TEST=ran new unit test. Test passes on try servers. Review URL: http://codereview.chromium.org/3869001 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@63067 0039d316-1c4b-4281-b951-d872f2087c98
* process_util: remove a function we don't use anywayevan@chromium.org2010-10-131-5/+0
| | | | | | Review URL: http://codereview.chromium.org/3806001 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@62452 0039d316-1c4b-4281-b951-d872f2087c98
* Used process_util methods to wait for the service process to die in the ↵sanjeevr@chromium.org2010-10-121-0/+8
| | | | | | | | | | | ServiceProcessControlBrowserTest. BUG=None TEST=browser_tests. Review URL: http://codereview.chromium.org/3653005 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@62339 0039d316-1c4b-4281-b951-d872f2087c98
* Cleanup orphaned testserver processes on posix.rsimha@chromium.org2010-09-221-2/+37
| | | | | | | | | | | If a chrome test that uses a testserver were to crash, the testserver process ends up being orphaned, potentially affecting subsequent tests. This patch causes child processes of a test case to be killed along with the test case if it were to be abruptly terminated. BUG=55808 TEST=sync_integration_tests Review URL: http://codereview.chromium.org/3423012 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@60192 0039d316-1c4b-4281-b951-d872f2087c98
* [Mac] Replace the existing browser-child mach ipc with a long-lived listener ↵rohitrao@chromium.org2010-09-171-101/+0
| | | | | | | | | | | | | | | | | on a well-known port. Before this CL: Before fork()ing a child, the browser process creates a mach receive port with a random name. After the fork() but before exec(), the child uses mach ipc to transmit send rights to its task port. The child has access to the random name because it inherits it from the browser process. Unfortunately, some of the library functions involved in sending a mach message are not safe to call after fork(). After this CL: Before forking the first child, the browser spins off a new thread that listens on a well-known port for mach ipc from any process. This well-known port is "com.google.Chrome.<browserpid>". When a child process starts up, it sends a mach message to its parent browser's well-known port. On the browser side, we listen for said message, extract the pid of the sending process, and ignore any messages from processes we did not personally fork(). This check is necessary because any arbitrary process on the system could send mach ipc to that port. BUG=35374 TEST=Browser should still start up. The task manager should still show correct cpu/memory data. There should be no perf regressions. TEST=Mac ui_tests and browser_tests should be less flaky. Review URL: http://codereview.chromium.org/3443002 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@59782 0039d316-1c4b-4281-b951-d872f2087c98
* Revert 58576 - Adds logging into fork_and_get_task() to test a hypothesis on ↵rohitrao@chromium.org2010-09-041-7/+0
| | | | | | | | | | | | | | | why WaitForInitialLoads() is failing. Will be reverted soon. BUG=None TEST=None Review URL: http://codereview.chromium.org/3353012 TBR=rohitrao@chromium.org Review URL: http://codereview.chromium.org/3354009 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@58579 0039d316-1c4b-4281-b951-d872f2087c98
* Adds logging into fork_and_get_task() to test a hypothesis on why ↵rohitrao@chromium.org2010-09-041-0/+7
| | | | | | | | | | | | WaitForInitialLoads() is failing. Will be reverted soon. BUG=None TEST=None Review URL: http://codereview.chromium.org/3353012 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@58576 0039d316-1c4b-4281-b951-d872f2087c98
* [Mac] Move the reset of signal handlers to be very soon after the fork, ↵rohitrao@chromium.org2010-09-041-6/+16
| | | | | | | | | | | | | | | | | | | | | | | before we do any mach IPC. The MachPortSender constructor can sometimes hang forever (gets stuck in bootstrap_look_up()), so it is important to reset the child's signal handlers as early as possible. Nico would like me to mention that this was his idea. This is take two. I couldn't reproduce the unit_tests failures either locally or on the release try bots. BUG=35374 TEST=If in the forever backwards spinner state, closing the tab should not quit the browser. TEST=In general, renderers and extensions and plugins should still work. Review URL: http://codereview.chromium.org/3302009 TBR=rohitrao@chromium.org Review URL: http://codereview.chromium.org/3322013 TBR=rohitrao@chromium.org Review URL: http://codereview.chromium.org/3360009 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@58572 0039d316-1c4b-4281-b951-d872f2087c98
* Revert 58558 - [Mac] Move the reset of signal handlers to be very soon after ↵rohitrao@chromium.org2010-09-031-16/+6
| | | | | | | | | | | | | | | | | | the fork, before we do any mach IPC. The MachPortSender constructor can sometimes hang forever (gets stuck in bootstrap_look_up()), so it is important to reset the child's signal handlers as early as possible. Nico would like me to mention that this was his idea. BUG=35374 TEST=If in the forever backwards spinner state, closing the tab should not quit the browser. TEST=In general, renderers and extensions and plugins should still work. Review URL: http://codereview.chromium.org/3302009 TBR=rohitrao@chromium.org Review URL: http://codereview.chromium.org/3322013 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@58560 0039d316-1c4b-4281-b951-d872f2087c98
* [Mac] Move the reset of signal handlers to be very soon after the fork, ↵rohitrao@chromium.org2010-09-031-6/+16
| | | | | | | | | | | | | | | before we do any mach IPC. The MachPortSender constructor can sometimes hang forever (gets stuck in bootstrap_look_up()), so it is important to reset the child's signal handlers as early as possible. Nico would like me to mention that this was his idea. BUG=35374 TEST=If in the forever backwards spinner state, closing the tab should not quit the browser. TEST=In general, renderers and extensions and plugins should still work. Review URL: http://codereview.chromium.org/3302009 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@58558 0039d316-1c4b-4281-b951-d872f2087c98
* [Mac] Add comment explaining why we create the mach receive port when we do.rohitrao@chromium.org2010-09-021-0/+4
| | | | | | | | BUG=None TEST=None Review URL: http://codereview.chromium.org/3217010 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@58357 0039d316-1c4b-4281-b951-d872f2087c98
* Header cleanup in base.brettw@chromium.org2010-08-171-1/+1
| | | | | | | | | | | | | | This makes uses of StringPrintf and friends use the base namespace and include stringprintf.h explicitly. This also removes a bunch of unnecessary string_util includes (which exposed a few other errors like people forgetting to include <vector>. TEST=it compiles BUG=none Review URL: http://codereview.chromium.org/3119022 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@56446 0039d316-1c4b-4281-b951-d872f2087c98
* Run tests faster.agl@chromium.org2010-08-131-1/+5
| | | | | | | | | | | | | | | | | | I noticed that net_unittests was spending a lot of time doing nothing. This CL changes the timeouts so that we can startup and shutdown test servers faster. (This is a reland. Originally r54579, reverted in r54592. This is relanding unmodified as I don't believe that it was mistakenly fingered for build issues at the time. The real problem was r54576, reverted in r54595.) BUG=none TEST=net_unittests http://codereview.chromium.org/3057021/show git-svn-id: svn://svn.chromium.org/chrome/trunk/src@56024 0039d316-1c4b-4281-b951-d872f2087c98
* FBTF: Remove unneeded headers from base/ (part 1)thestig@chromium.org2010-08-051-1/+1
| | | | | | | | BUG=none TEST=none Review URL: http://codereview.chromium.org/3071012 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@55034 0039d316-1c4b-4281-b951-d872f2087c98
* Revert "Run tests faster."phajdan.jr@chromium.org2010-08-021-5/+1
| | | | | | | | | | After this change the test server flakily (?) failed to start for chrome_frame_tests. TBR=agl Review URL: http://codereview.chromium.org/3026042 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@54592 0039d316-1c4b-4281-b951-d872f2087c98
* Run tests faster.agl@chromium.org2010-08-021-1/+5
| | | | | | | | | | | | | I noticed that net_unittests was spending a lot of time doing nothing. This CL changes the timeouts so that we can startup and shutdown test servers faster. BUG=none TEST=net_unittests http://codereview.chromium.org/3057021/show git-svn-id: svn://svn.chromium.org/chrome/trunk/src@54579 0039d316-1c4b-4281-b951-d872f2087c98
* base/ header cleanup. Forward declaration instead of including.erg@google.com2010-07-281-0/+2
| | | | | | | | | BUG=none TEST=none Review URL: http://codereview.chromium.org/3068004 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@53969 0039d316-1c4b-4281-b951-d872f2087c98
* Revert 53903 - Revert 52613 - Revert 52608 - Add and alternative ↵viettrungluu@chromium.org2010-07-281-55/+11
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | GetAppOutput() to process_util that takes a timeout. [For those keeping track, this removes it again. The failure wasn't a flake. :(] [Undoing the revert to see if the failure wasn't a flake.... Revert if the original failure, below, occurs again.] ["base_unittests" didn't exit cleanly on "Chromium Linux x64" but was killed due to timeout.] Contributed by tessamac@chromium.org TEST=none BUG=47356 Review URL: http://codereview.chromium.org/2810014 Patch from Tessa MacDuff <tessamac@chromium.org>. TBR=viettrungluu@chromium.org, tessamac@chromium.org Review URL: http://codereview.chromium.org/3012004 TBR=viettrungluu@chromium.org, tessamac@chromium.org Review URL: http://codereview.chromium.org/3036023 TBR=viettrungluu@chromium.org, tessamac@chromium.org Review URL: http://codereview.chromium.org/3045018 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@53908 0039d316-1c4b-4281-b951-d872f2087c98
* Revert 52613 - Revert 52608 - Add and alternative GetAppOutput() to ↵viettrungluu@chromium.org2010-07-281-11/+55
| | | | | | | | | | | | | | | | | | | | | | | | | | process_util that takes a timeout. [Undoing the revert to see if the failure wasn't a flake.... Revert if the original failure, below, occurs again.] ["base_unittests" didn't exit cleanly on "Chromium Linux x64" but was killed due to timeout.] Contributed by tessamac@chromium.org TEST=none BUG=47356 Review URL: http://codereview.chromium.org/2810014 Patch from Tessa MacDuff <tessamac@chromium.org>. TBR=viettrungluu@chromium.org, tessamac@chromium.org Review URL: http://codereview.chromium.org/3012004 TBR=viettrungluu@chromium.org, tessamac@chromium.org Review URL: http://codereview.chromium.org/3036023 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@53903 0039d316-1c4b-4281-b951-d872f2087c98
* Revert 52608 - Add and alternative GetAppOutput() to process_util that takes ↵viettrungluu@chromium.org2010-07-161-55/+11
| | | | | | | | | | | | | | | | | | | | a timeout. ["base_unittests" didn't exit cleanly on "Chromium Linux x64" but was killed due to timeout.] Contributed by tessamac@chromium.org TEST=none BUG=47356 Review URL: http://codereview.chromium.org/2810014 Patch from Tessa MacDuff <tessamac@chromium.org>. TBR=viettrungluu@chromium.org, tessamac@chromium.org Review URL: http://codereview.chromium.org/3012004 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@52613 0039d316-1c4b-4281-b951-d872f2087c98
* Add and alternative GetAppOutput() to process_util that takes a timeout.viettrungluu@chromium.org2010-07-161-11/+55
| | | | | | | | | | | | Contributed by tessamac@chromium.org TEST=none BUG=47356 Review URL: http://codereview.chromium.org/2810014 Patch from Tessa MacDuff <tessamac@chromium.org>. git-svn-id: svn://svn.chromium.org/chrome/trunk/src@52608 0039d316-1c4b-4281-b951-d872f2087c98
* Fix ProcessSingletonWinTest using default profile.mattm@chromium.org2010-06-161-1/+10
| | | | | | | | | | | | | Rename to ProcessSingletonTest. Fix issues preventing the test from working on Linux, and enable it there. Test both normal start up and first-run startup paths(win-only). BUG=38572 TEST=run the test (both with and without an existing profile in the default place) Review URL: http://codereview.chromium.org/2721007 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@50022 0039d316-1c4b-4281-b951-d872f2087c98
* Changed the position of the output->swap() call. This way, even if the ↵maruel@chromium.org2010-06-101-4/+2
| | | | | | | | | | command encounters an error, we still record the output. This is important for the case when stderr has been redirected to stdout, and we'd like to see stdout even when the exit code is non-zero. Patch contributed by Michael Williamson. Review URL: http://codereview.chromium.org/2665004 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@49423 0039d316-1c4b-4281-b951-d872f2087c98
* Reset signal handlers in forked children.agl@chromium.org2010-06-021-0/+7
| | | | | | | | | | | | If a signal is delivered to a child process in between forking and execing then it will trigger Chrome's signal handlers. This will likely result in sadness. BUG=44953 http://codereview.chromium.org/2452003/show git-svn-id: svn://svn.chromium.org/chrome/trunk/src@48744 0039d316-1c4b-4281-b951-d872f2087c98
* POSIX: catch more crash-indicating signals for in-process crash dumping.phajdan.jr@chromium.org2010-04-301-3/+6
| | | | | | | | | TEST=none BUG=none Review URL: http://codereview.chromium.org/1801007 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@46043 0039d316-1c4b-4281-b951-d872f2087c98
* Move common code into process_util.cc.maruel@chromium.org2010-04-291-54/+0
| | | | | | | | | | | | | Fix namespace usage. Change ProcessEntry to have a common interface accross platforms and change ProcessFilter::Includes() to make use of it. Split NamedProcessIterator in two. BUG=none TEST=none Review URL: http://codereview.chromium.org/1689012 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@45953 0039d316-1c4b-4281-b951-d872f2087c98
* POSIX: In functions where we wait for a process with timeout, increment the ↵thestig@chromium.org2010-04-021-14/+24
| | | | | | | | | | amount of time we sleep between polls from 1 to 256 milliseconds instead of always sleeping 250 milliseconds. BUG=none TEST=Perf tests that use WaitForSingleProcess but finishes under 250 ms will get more accurate results. Review URL: http://codereview.chromium.org/1518008 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@43463 0039d316-1c4b-4281-b951-d872f2087c98
* Minor C++ fixes found by Clang.evan@chromium.org2010-03-301-4/+4
| | | | | | | | | In cases where I've added an #include, it's generally due to Clang being more picky about templates being available during expansions. Review URL: http://codereview.chromium.org/1432003 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@43098 0039d316-1c4b-4281-b951-d872f2087c98
* Just need to trigger a buildagl@chromium.org2010-03-191-1/+1
| | | | git-svn-id: svn://svn.chromium.org/chrome/trunk/src@42141 0039d316-1c4b-4281-b951-d872f2087c98
* [GTTF] Add an always-working timeout for browser_tests.phajdan.jr@chromium.org2010-03-161-0/+19
| | | | | | | | | | | | | | | This one is implemented in the out-of-process launcher, so it's guaranteed to work. Not removing the MessageLoop delayed task sent inside the test because currently not all browser tests use the launcher (sync tests?). TEST=browser_tests BUG=38053 Review URL: http://codereview.chromium.org/949002 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@41694 0039d316-1c4b-4281-b951-d872f2087c98
* Noop change to trigger a rebuild.agl@chromium.org2010-03-111-1/+0
| | | | git-svn-id: svn://svn.chromium.org/chrome/trunk/src@41277 0039d316-1c4b-4281-b951-d872f2087c98
* POSIX: don't allocate memory after forking.agl@chromium.org2010-03-111-97/+208
| | | | | | | | | | | | | | | | | Previously we would allocate memory in the child process. However, the allocation might have happened while the malloc lock was held, resulting in a deadlock. This patch removes allocation from the child but probably makes Mac's startup time slower until a Mac person can implement dir_reader_posix.h. TEST=Unittest for new code BUG=36678 http://codereview.chromium.org/672003 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@41275 0039d316-1c4b-4281-b951-d872f2087c98
* Revert "POSIX: don't allocate memory after forking."agl@chromium.org2010-03-101-210/+97
| | | | | | Appears to break tlslite on the Mac. git-svn-id: svn://svn.chromium.org/chrome/trunk/src@41190 0039d316-1c4b-4281-b951-d872f2087c98
* POSIX: don't allocate memory after forking.agl@chromium.org2010-03-101-97/+210
| | | | | | | | | | | | | | | | | Previously we would allocate memory in the child process. However, the allocation might have happened while the malloc lock was held, resulting in a deadlock. This patch removes allocation from the child but probably makes Mac's startup time slower until a Mac person can implement dir_reader_posix.h. TEST=Unittest for new code BUG=36678 http://codereview.chromium.org/672003 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@41181 0039d316-1c4b-4281-b951-d872f2087c98
* BSD port changes for base/ (OS_POSIX/GTK instead of OS_LINUXpvalchev@google.com2010-03-101-4/+5
| | | | | | | | where applicable, missing includes, etc) Review URL: http://codereview.chromium.org/774001 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@41143 0039d316-1c4b-4281-b951-d872f2087c98
* solaris: minor ifdefsevan@chromium.org2010-02-171-1/+4
| | | | | | | | | | | | | base/process_util_posix.cc, base/third_party/nspr/prcpucfg.h, third_party/npapi/bindings/npapi.h: added alternate Solaris OS choice BUG=30101 TEST=compiles Patch by James Choi <jchoi42@pha.jhu.edu>. Review URL: http://codereview.chromium.org/606069 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@39220 0039d316-1c4b-4281-b951-d872f2087c98
* linux: check the return value passed through HANDLE_EINTRevan@chromium.org2010-02-021-5/+12
| | | | | | | | | | A smarter compiler (clang) can notice that we were not using the return values being passed through HANDLE_EINTR, which meant most frequently that we were missing checking the return value of close(). Review URL: http://codereview.chromium.org/569003 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@37786 0039d316-1c4b-4281-b951-d872f2087c98
* Style cleanup in preparation for auto-linting base/.erg@google.com2010-01-261-2/+2
| | | | | | | | | BUG=none TEST=none Review URL: http://codereview.chromium.org/552004 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@37164 0039d316-1c4b-4281-b951-d872f2087c98
* OpenBSD/FreeBSD ifdefs and GYP changes for base/pvalchev@google.com2010-01-251-0/+3
| | | | | | | | Based on original work by Sprewell and Ben Laurie on FreeBSD port Review URL: http://codereview.chromium.org/548129 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@37063 0039d316-1c4b-4281-b951-d872f2087c98
* Mac: Remove some unneccesary IPC from fork_and_get_task.thakis@chromium.org2010-01-131-45/+0
| | | | | | | | | | | This was a left-over from the previous swap-bootstrap-port-based approach. BUG=13156 TEST=Open task manager. Should still work. Review URL: http://codereview.chromium.org/551004 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@36088 0039d316-1c4b-4281-b951-d872f2087c98
* Mac: Other approach for IPCing child task_ts.thakis@chromium.org2010-01-121-1/+143
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Also move mach_ipc_mac to base, where it's now used. Based on http://www.foldr.org/~michaelw/log/2009/03/13/ , but uses a named connection instead. Do the IPC right after fork-time, so that the sandbox is not yet in effect. See the codereview comments for a benchmark that proves that this shouldn't be expensive, and for pros and cons for using a named connection vs temporarily switching out the bootstrap port. Works for worker processes too and seems more reliable in general. Measured perf impact in http://src.chromium.org/viewvc/chrome?view=rev&revision=35888 , it's negligible. BUG=13156 TEST=(requires that one enables the task manager in browser.cc) 1.) Open one tab that plays a youtube video 2.) Open a second and visit http://www.whatwg.org/demos/workers/primes/page.html 3.) Install e.g. the gmail checker extension 4.) Open the task manager It should report metrics for * one browser process * two renderer processes * one plugin process * one worker process * one extension process Check that %cpu etc more or less match what Activity Monitor displays if you filter for "Chromium". Also choose "Open all bookmarks" on the bookmarks bar with the task manager open and check that metrics for all tabs appear immediately. Review URL: http://codereview.chromium.org/549002 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@35977 0039d316-1c4b-4281-b951-d872f2087c98
* Revert 35888 - Mac: Other approach for IPCing child task_ts.thakis@chromium.org2010-01-101-146/+0
| | | | | | | | | | | | | | | | | Based on http://www.foldr.org/~michaelw/log/2009/03/13/ , right now in proofofconcept quality. Works for worker processes too and seems more reliable in general. Makes it impossible to call LaunchApp() concurrently though. Next try: Submitting to get perf numbers, will revert. Committed: http://src.chromium.org/viewvc/chrome?view=rev&revision=35883 Review URL: http://codereview.chromium.org/549002 TBR=thakis@chromium.org Review URL: http://codereview.chromium.org/536009 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@35890 0039d316-1c4b-4281-b951-d872f2087c98
* Mac: Other approach for IPCing child task_ts.thakis@chromium.org2010-01-101-0/+146
| | | | | | | | | | | | | | Based on http://www.foldr.org/~michaelw/log/2009/03/13/ , right now in proof-of-concept quality. Works for worker processes too and seems more reliable in general. Makes it impossible to call LaunchApp() concurrently though. Next try: Submitting to get perf numbers, will revert. Committed: http://src.chromium.org/viewvc/chrome?view=rev&revision=35883 Review URL: http://codereview.chromium.org/549002 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@35888 0039d316-1c4b-4281-b951-d872f2087c98
* Revert 35883 - Mac: Other approach for IPCing child task_ts.thakis@chromium.org2010-01-101-143/+0
| | | | | | | | | | | | | | | Based on http://www.foldr.org/~michaelw/log/2009/03/13/ , right now in proofofconcept quality. Works for worker processes too and seems more reliable in general. Makes it impossible to call LaunchApp() concurrently though. Submitting to get perf numbers, will revert. Review URL: http://codereview.chromium.org/549002 TBR=thakis@chromium.org Review URL: http://codereview.chromium.org/544004 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@35884 0039d316-1c4b-4281-b951-d872f2087c98
* Mac: Other approach for IPCing child task_ts.thakis@chromium.org2010-01-101-0/+143
| | | | | | | | | | | | Based on http://www.foldr.org/~michaelw/log/2009/03/13/ , right now in proof-of-concept quality. Works for worker processes too and seems more reliable in general. Makes it impossible to call LaunchApp() concurrently though. Submitting to get perf numbers, will revert. Review URL: http://codereview.chromium.org/549002 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@35883 0039d316-1c4b-4281-b951-d872f2087c98
* Mac: stop zombie ps processes from being created.viettrungluu@chromium.org2010-01-041-10/+12
| | | | | | | | | | | | | | | This fixes two bugs: - the output buffer for the ps command being run could be too small (fix: buffer enlargened); and - if the output buffer was too small, waitpid() wouldn't be called (fix: always call waitpid(), obviously). BUG=31378 TEST=On a big, long-running Chrome/Chromium (with many processes, e.g., renderers), check that there are no zombie ps processes (with PPID the browser process); looking at about:memory may help speed up the creation of such zombies. Also, run the new test, ProcessUtilTest.GetAppOutputRestrictedNoZombies. Review URL: http://codereview.chromium.org/523033 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@35456 0039d316-1c4b-4281-b951-d872f2087c98
* Revert 35025 - Revert 34994, maybe it regressed startup perf Fix cpu/memory ↵viettrungluu@chromium.org2009-12-191-47/+20
| | | | | | | | | | | | | | | | | | | measurements on OS X. Right now, this only works for the current process; support for child processes will be added in a later CL. BUG=13156,25454 TEST=Hook up task manager (connect menu item to commandDispatch:, give it the right tag). Stats for the browser process should now be right, and %cpu should be 0 (for now) for all other processes. Review URL: http://codereview.chromium.org/500118 TBR=thakis@chromium.org Review URL: http://codereview.chromium.org/504068 TBR=thakis@chromium.org Review URL: http://codereview.chromium.org/505056 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@35043 0039d316-1c4b-4281-b951-d872f2087c98
* Revert 34994, maybe it regressed startup perf - Fix cpu/memory measurements ↵thakis@chromium.org2009-12-191-20/+47
| | | | | | | | | | | | | | | | on OS X. Right now, this only works for the current process; support for child processes will be added in a later CL. BUG=13156,25454 TEST=Hook up task manager (connect menu item to commandDispatch:, give it the right tag). Stats for the browser process should now be right, and %cpu should be 0 (for now) for all other processes. Review URL: http://codereview.chromium.org/500118 TBR=thakis@chromium.org Review URL: http://codereview.chromium.org/504068 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@35025 0039d316-1c4b-4281-b951-d872f2087c98