| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
| |
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@324 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
| |
This greatly simplifies the implementation and API.
Now consumers can use ObjectWatcher as a "smart pointer" class, which automatically cleans-up after itself when it goes out of scope.
I also switched away from the Task based API to one that is more compatible with MessageLoop::WatchObject. That allows me to make minimal changes to existing code, and it also means that consumers do not have to allocate Task objects to use this API.
In this CL, I included changes to make a couple consumers use ObjectWatcher instead of ML::WatchObject.
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@322 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
| |
Review URL: http://chrome-reviews.prom.corp.google.com/1104
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@321 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
| |
TBR: deanm
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@316 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
| |
TBR=evanm
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@314 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
| |
TBR=sgk
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@313 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
| |
everywhere into the base Windows environment.
TBR: evanm,bradnelson
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@310 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
| |
TBR: evanm,bradnelson
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@304 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
| |
TBR
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@299 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
| |
I use a counter of MessageLoop::Quit() calls so that I can re-post "extra" calls when MessageLoop::Run() terminates. This assures that no quits are lost... but I'm not sure if some code abused the Quit() calls, and already posts many-too-many quits :-/. I want to see if the tree tests go red, and how the distributed reliability test responds.
The test should already pass the basic unit_test and base_unittest, but I'm not sure what the rest of the UI tests etc will do. If I'm lucky, they'll be "less" flakey. ...but they may just go red all over :-(
TBR
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@298 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
| |
PostSignaledTask since it won't be used.
TBR=jar
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@289 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
| |
- I want to test this on the bots.
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@271 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
tracking)
Repair tree bustage
TBR=darin
M base/tracked.cc
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@266 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
proress by Darin) to Post the task (when the object is signaled) into a message
loop.
I also cleaned up the time-of-birth for tasks that sleep for a while before
running (such as those held by the timer, or by passed to this new
PostSignaledTask() interface.
r=darin
M base/tracked.cc
M base/message_loop.h
M base/message_loop.cc
M base/tracked.h
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@262 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
| |
* Add base\object{,_watcher}.cc.
* Add chrome\browser\bookmark_{codec,storage}.cc.
* Add chrome\views\frame\browser_window_factory.cc.
* Split of app\main.cc into app\chrome_{dll,exe}_main.cc, with added CPPDEFINES for {BROWSER,RENDERER,PLUGIN}_DLL.
* Move $CSCRIPT, $PLATFORMSDK* and $VISUAL_STUDIO variables to the win32-specific construction environment.
* Remove unnecessary comments.
TBR: bradnelson
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@261 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
finding out when objects get signaled.
The API is pretty simple:
- consumer can associate a Task with a HANDLE via AddWatch method
- when the HANDLE is signaled, we run the Task on the thread that called AddWatch
- the consumer can call CancelWatch to abort the watch
- a watch is one-shot: after the object is signaled, the consumer has to call AddWatch again to wait a second time
- if the ObjectWatcher instance is destroyed, it cancels all associated watches.
Implementation details:
- Uses RegisterWaitForSingleObject to run a function on the wait thread. This avoids extra thread marshaling to a worker thread.
- Uses a Task to get back onto the origin thread. This is possible due to the UnregisterWaitEx(INVALID_HANDLE_VALUE) call.
- Once on the origin thread, runs the consumer's Task directly.
This is the first part of changes I want to make to MessageLoop::WatchObject. For now, I have not made any changes to existing code.
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@259 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
| |
Review URL: http://chrome-reviews.prom.corp.google.com/996
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@256 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
| |
purify-sub angry.
- Not sure what is the issue, purify reports FMM (freeing mismatched memory), but I don't see why.
- Don't do the frees inside the dll unload callback directly.
TBR=erikkay
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@252 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
| |
TBR=cpu
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@221 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
| |
- Previously this job was done by the CRT's atexit() which runs later than we want and under the loader lock.
- Had to modify most main() functions for the testing executables so we don't trigger leak detectors.
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@219 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
| |
BUG=1201008
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@215 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
| |
over error handling instead of getting a blank string for invalid encodings. It also allows us to decrease the amount of platform-specific code.
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@211 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
ipc_sync_channel.
RunOnce() semantics were not sufficient to support the effort to pump messages
in ipc_sync_channel, as ipc_sync_channel is not able to detect pending Tasks.
This change list switches to RunAllPending() tasks, rather than just Running the items
that avail themselves in one run of the loop. This is a very small mod of the existing code.
I'm still trying to stay focused on the bug at hand, and minimize chances of
unrelated regressions (we only modify IPC channel semantics).
The slight semantic change (from original attempts to call Quit() externally and
then Run()) is that we now terminate the message loop after also servicing the
high-resolution timer tasks.
bug=1291034
r=darin
M base/message_loop.h
M base/message_loop.cc
M chrome/common/ipc_sync_channel.cc
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@176 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
various SConscripts into readable and maintainable shape. To wit:
* Put the near-universal settings of /DCERT_CHAIN_PARA_HAS_EXTRA_FIELDS, /DWIN32_LEAN_AND_MEAN, /wd4503 and /wd4819 in the base construction environment.
* Sort various unsorted source file lists.
* Fix indentation and quoting for consistency in a couple SConscript files that escaped previous dragnets.
* Eliminate two left-over uses of Split() for input file lists.
* Give the devenv invocation to build v8_shell.exe the full path to the relevant .vcproj file.
* Add /nologo to the base LINKFLAGS setting.
* Remove various CPPPATH and other settings that have been hanging around commented out from the Visual Studio build (in case we needed them, which we evidently don't).
* Get rid of unnecessary env.File() and env.Dir() calls in various settings (esp. CPPPATH) and source file lists.
* Add copyright notice to an overlooked SConscript file.
* Clean up version.bat invocation.
TBR: bradnelson
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@174 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Deeply nested calls to MessageLoop::Run() were made, and
a multitude of Quit() messages were handled at the most
nested level. This left outer invocations hung, waiting for
"their" kQuitMsg to arrive (but the the nested loop had
already discarded them in its processing of pending messages
before exit :-/ ).
We now use a more controlled run of the message loop, which
does not rely on kQuitMsg.
This re-landing doesn't have the anti-hang assertion, which was
breaking a lot of tests.
bug=1291034
r=darin,mpcomplete
M base/message_loop.h
M base/message_loop.cc
M chrome/common/ipc_sync_channel.cc
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@130 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
| |
messages to STDERR and calls exit(1). This is better, since we will now crash instead of exiting. This also removes some unnecessary code and error strings from bzip2.
BUG=1289861
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@121 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
| |
messages to STDERR and calls exit(1). This is better, since we will now crash instead of exiting. This also removes some unnecessary code and error strings from bzip2.
BUG=1289861
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@115 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
| |
BUG=1282556
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@112 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
| |
M base/message_loop.h
M base/message_loop.cc
M chrome/common/ipc_sync_channel.cc
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@110 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
| |
M base/message_loop.cc
M chrome/common/ipc_sync_channel.cc
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@109 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
| |
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@100 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
| |
Lots of unittests for this behavior.
BUG=1295713
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@51 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Fixed projects that are set as "Application (.exe)" but that don't build an application. Converted then to "Utility".
util_prebuild, V8Config and V8Bindings_prebuild.
Fixed a template compilation error in message_loop.h
Changed PROP_ENTRY to PROP_ENTRY_TYPE since the former is now deprecated.
Everything still builds fine on VS2005.
BUG=1290595
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@44 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
| |
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@37 0039d316-1c4b-4281-b951-d872f2087c98
|
|
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@8 0039d316-1c4b-4281-b951-d872f2087c98
|