summaryrefslogtreecommitdiffstats
path: root/base/base.gyp
Commit message (Collapse)AuthorAgeFilesLines
* Add xdisplaycheck as a dependency on Linux for tests that use the UI. This ↵thestig@chromium.org2009-09-171-0/+1
| | | | | | | | | | way we don't have to explicitly build xdisplaycheck on all the bots where we run tests. BUG=none TEST=none Review URL: http://codereview.chromium.org/207020 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@26487 0039d316-1c4b-4281-b951-d872f2087c98
* Use delegate protocols present in the 10.6 SDK. For previous SDKs, providemark@chromium.org2009-09-171-0/+1
| | | | | | | | | | empty protocol definitions for compatibility. BUG=20925 TEST=build Review URL: http://codereview.chromium.org/209004 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@26477 0039d316-1c4b-4281-b951-d872f2087c98
* Force inclusion of build/common.gypi for all chromium gyp files.yaar@chromium.org2009-09-151-3/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | Why: Simpler build code. If everybody includes it, it should be included automatically. Why now: The webkit chromium builds need it be specified, since can't default to build/common.gypi. What was done: 1. build/common.gypi's contents were moved to a new file build/gyp_chromium.gypi 2. tools/gyp/gyp_chromium was moved to build/gyp_chromium and made to automatically include build/gyp_chromium.gypi. 3. lots of gyp files were fixed to not refer to build/common.gypi any more. 4. o3d which also builds independently of chrome, was fixed to have a gyp_o3d that includes gyp_chromium.gypi too. 5. build/common.gypi was left empty, because there are some external projects that still refer to it. Things that are left to do after this patch is in: 1. The following external files (in other repositories) need to stop include common.gypi ./third_party/hunspell/hunspell.gyp ./third_party/icu/icu.gyp ./v8/tools/gyp/v8.gyp 2. Once nobody refers to common.gypi anymore, delete common.gypi -or- Delete gyp_chromium.gypi and move its content back to common.gypi Tested on mac, win and linux. On win, got a few unit tests errors on chrome bookmarks, which should not be related. I'm running again with clobber to verify. Review URL: http://codereview.chromium.org/206006 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@26302 0039d316-1c4b-4281-b951-d872f2087c98
* Linux: set the process title (that shows in "ps" etc.) of renderers ↵mdm@chromium.org2009-09-101-3/+13
| | | | | | | | | | | correctly when using the zygote. BUG=none TEST=none Review URL: http://codereview.chromium.org/196009 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@25877 0039d316-1c4b-4281-b951-d872f2087c98
* Replace icu38/icu38.gyp with icu/icu.gyp in gyp files replace all the ↵jshin@chromium.org2009-09-091-4/+4
| | | | | | | | | | | | | | | | | | references to third_party/icu38 and icudt38.dll with third_party/icu and icudt42.dll in vsprops and cc files. Also, update the icu data module name and the icu data symbol in icu_util.cc In addition, add a dummy C++ source file (xmldummy_mac.cc) to libxml to work around an Xcode bug (xmllint and xmlcatalog are linked with gcc rather than g++ even though it's linked to a "C++ library", libicuuc.a). Also updated is the test results for net_util_unittests. This will not be landed until deps/third_party/icu42 is ready for all 3 platforms (Windows VS build files are not yet updated there). BUG=8198 TEST=On all platforms, all the targets are built fine. Review URL: http://codereview.chromium.org/172031 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@25708 0039d316-1c4b-4281-b951-d872f2087c98
* Add missing files to base_unittests.maruel@chromium.org2009-09-081-1/+6
| | | | | | | | TEST=none BUG=none Review URL: http://codereview.chromium.org/197041 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@25628 0039d316-1c4b-4281-b951-d872f2087c98
* Fix mysterious chromeos build error - more investigation to follow.benl@chromium.org2009-09-071-10/+6
| | | | git-svn-id: svn://svn.chromium.org/chrome/trunk/src@25600 0039d316-1c4b-4281-b951-d872f2087c98
* Added USE_GDK, set when either TOOLKIT_GTK or TOOLKIT_VIEWS is set butbenl@chromium.org2009-09-071-15/+28
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | not OS_WIN. Added USE_X11. Set when OS_LINUX or OS_FREEBSD is set. Added USE_BASE_DATA_PACK for base::DataPack usage, set for OS_MACOSX, OS_LINUX or OS_FREEBSD. Added USE_NSS for ... nss (for crypto). Windows and MacOS use platform-specific libraries. All of the above cause slightly odd formulations like: #if defined(OS_WIN) ... #elif defined(USE_BASE_DATA_PACK) ... #endif Possibly should also define USE_DLL_FOR_DATA, etc? Or something? Wrapped various references to struct stat64 and stat64() to use struct stat and stat() for FreeBSD - but a "man stat64" on Linux suggests that we could do the same thing for at least Linux, too, and perhaps eliminate the wrapper? git-svn-id: svn://svn.chromium.org/chrome/trunk/src@25599 0039d316-1c4b-4281-b951-d872f2087c98
* Add a WeakPtr<T> class.darin@chromium.org2009-09-011-0/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | This allows a class to hand out weak pointers to itself that will be nulled out automatically when the class instance is destroyed. I have provided two ways for a class to implement weak pointers. It can either subclass SupportsWeakPtr (like subclassing RefCounted) or it can be composed of WeakPtrFactory (like having a ScopedRunnableMethodFactory member). Eventually, I'd like to make it possible to pass a WeakPtr<T> as the first parameter to NewRunnableMethod. This will make ScopedRunnableMethodFactory obsolete and should help cleanup some code. One feature that makes the implementation here a bit more complicated is that it is possible to pass a WeakPtr<U> to a method that takes a WeakPtr<T> provided U "is a" T. This proved useful in RenderView, which can then give out weak references to both itself as well as to an interface it implements. This informed the design of WeakPtr, causing it to have a T* ptr_ member instead of stashing that pointer within the ref counted WeakReference object. R=brettw BUG=none TEST=weak_ptr_unittest.cc Review URL: http://codereview.chromium.org/183026 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@25087 0039d316-1c4b-4281-b951-d872f2087c98
* Add a nullable string16 class to base. It combines a string16 + a null paramjorlow@chromium.org2009-08-271-0/+1
| | | | | | | | | | | | | | | | | | in order to cover all the possible states of a WebKit string. For strings where the null state is not meaninfully different from the empty state, this class should NOT be used. There are, however, some cases where we do need to track null. LocalStorage is an example. This class should be a fairly light weight way to do so. This change also adds implicit conversion to and from WebStrings. This also switches LocalStorage's IPCs over to using this new class. BUG=17343 TEST=none Review URL: http://codereview.chromium.org/174484 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@24574 0039d316-1c4b-4281-b951-d872f2087c98
* Linux: add gyp flag for enabling tcmalloc. Also fix the linux build which ↵willchan@chromium.org2009-08-261-0/+9
| | | | | | | | didn't work in a clean client since tcmalloc.h wasn't generated. Review URL: http://codereview.chromium.org/173387 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@24538 0039d316-1c4b-4281-b951-d872f2087c98
* Move IDMap back to base/ where it is needed.phajdan.jr@chromium.org2009-08-191-0/+2
| | | | | | | | | TEST=Covered by base_unittests. BUG=none Review URL: http://codereview.chromium.org/173026 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@23709 0039d316-1c4b-4281-b951-d872f2087c98
* Move IDMap from base/ to common/phajdan.jr@chromium.org2009-08-121-1/+0
| | | | | | | | | | | Nothing in base/ uses it, and I'm going to make some non-trivial changes to it. TEST=none http://crbug.com/19202 Review URL: http://codereview.chromium.org/164428 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@23243 0039d316-1c4b-4281-b951-d872f2087c98
* Add checks to DEBUG mode that no instance of URLRequest or URLFetcher ↵ericroman@google.com2009-08-111-0/+4
| | | | | | | | | | | | | | | | | | | | survives the destruction of the IO thread. This checking is done by introducing a new helper class to base called LeakTracker. Classes that you want to check for leaks just need to extend LeakTracker. The reason I am picking on URLFetcher / URLRequest, is I believe we have a bug that is making an instance of URLFetcher to outlive the IO thread. This causes various sorts of badness. For example: If URLFetcher survives the IO thread, then URLRequestContext remains referenced and therefore also survives IO thread. In turn HostResolverImpl survives the IO thread, so any outstanding resolve requests are NOT cancelled before the IO thread is decomissioned. So now, when the worker thread doing the DNS resolve finally finishes (assuming it finishes before the rogue URLRequest is destroyed), it post the result to a defunct message loop. KAB00m! (http://crbug.com/15513) Moreover, I believe we hit this same problem sporadically in AutomationProxyTest.AutocompleteGetSetText -- the test is flaky on the buildbots, and I've seen DCHECKs which suggest it is related to this issue. BUG=http://crbug.com/18372 Review URL: http://codereview.chromium.org/160447 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@23084 0039d316-1c4b-4281-b951-d872f2087c98
* Factor out window creation into base::WindowImpl. This class will be used ↵jhawkins@chromium.org2009-08-071-0/+7
| | | | | | | | | | in place of CWindowImpl to reduce our dependency on ATL. BUG=none TEST=none Review URL: http://codereview.chromium.org/165022 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@22787 0039d316-1c4b-4281-b951-d872f2087c98
* Move test_file_util out of libbase. Test code should not be mixed with ↵phajdan.jr@chromium.org2009-08-031-5/+36
| | | | | | | | | | | | | | | production code. Rename previous test_support_base to test_support_perf. I couldn't just add things to test_support_base because one file there defined main, and it would produce link conflict for new users of test_support_base. TEST=none http://crbug.com/18101 Review URL: http://codereview.chromium.org/159791 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@22291 0039d316-1c4b-4281-b951-d872f2087c98
* Make Linux versioninfo its own lib so it can be linked in only where needed.mmoss@chromium.org2009-07-291-48/+59
| | | | | | | | | | This moves it out of libbase, and thus avoids relinking everything that touches base just because the versioninfo changed. Review URL: http://codereview.chromium.org/160358 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@22014 0039d316-1c4b-4281-b951-d872f2087c98
* Reverting 21938 (done with experiment).willchan@chromium.org2009-07-291-1/+0
| | | | | | Review URL: http://codereview.chromium.org/160314 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@21939 0039d316-1c4b-4281-b951-d872f2087c98
* Experiment: Enable tcmalloc for linux (Take 2). Will revert after a ↵willchan@chromium.org2009-07-291-0/+1
| | | | | | | | buildbot cycle. Review URL: http://codereview.chromium.org/160313 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@21938 0039d316-1c4b-4281-b951-d872f2087c98
* Revert "Experiment: Enable tcmalloc for linux. Will revert after a buildbot ↵willchan@chromium.org2009-07-281-1/+0
| | | | | | | | | | cycle." This reverts r21826. Review URL: http://codereview.chromium.org/160261 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@21827 0039d316-1c4b-4281-b951-d872f2087c98
* Experiment: Enable tcmalloc for linux. Will revert after a buildbot cycle.willchan@chromium.org2009-07-281-0/+1
| | | | | | | | TBR=willchan Review URL: http://codereview.chromium.org/159491 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@21826 0039d316-1c4b-4281-b951-d872f2087c98
* Refactor blits to be more cross-platform.piman@chromium.org2009-07-241-0/+2
| | | | | | | Review URL: http://codereview.chromium.org/159190 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@21565 0039d316-1c4b-4281-b951-d872f2087c98
* Changing the include from "base/gfx/platform_canvas.h" to ↵ajwong@chromium.org2009-07-221-5/+0
| | | | | | | | | | | | "skia/ext/platform_canvas.h" BUG=None TEST=None Review URL: http://codereview.chromium.org/159057 Patch from Thiago Farina <thiago.farina@gmail.com>. git-svn-id: svn://svn.chromium.org/chrome/trunk/src@21258 0039d316-1c4b-4281-b951-d872f2087c98
* Creating a unique user-agent string for ChromeOS builds, so that metrics can ↵evan@chromium.org2009-07-221-3/+10
| | | | | | | | | be aggregated separately from standard Chrome on Linux Review URL: http://codereview.chromium.org/155101 Patch from Chris Masone <cmasone@google.com>. git-svn-id: svn://svn.chromium.org/chrome/trunk/src@21247 0039d316-1c4b-4281-b951-d872f2087c98
* Add a CallbackWithReturnValue as a convenient method of calling callback ↵jam@chromium.org2009-07-171-0/+1
| | | | | | | | functions with no arguments and a return value. This is useful in calling all of the getters we have in the code, instead of creating wrapper functions that take a pointer argument. Review URL: http://codereview.chromium.org/155630 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@20975 0039d316-1c4b-4281-b951-d872f2087c98
* Added dynamic annotation files into base/.deanm@chromium.org2009-06-261-0/+2
| | | | | | | | | | | | | | Added annotations for atomic reference counting, LazyInstance and Singleton classes. This changelist is a part of an effort of adding ThreadSanitizer support for Chromium. See http://code.google.com/p/data-race-test/wiki/ThreadSanitizer Patch by Timur Iskhodzhanov. Review URL: http://codereview.chromium.org/147008 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@19353 0039d316-1c4b-4281-b951-d872f2087c98
* Add tests for the GLib message pump.deanm@chromium.org2009-06-151-0/+5
| | | | | | | | | | | This CL also adds a few comment updates that were lost in CL 115812 submission. Patch by Antoine Labour. Review URL: http://codereview.chromium.org/118155 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@18379 0039d316-1c4b-4281-b951-d872f2087c98
* Linux: refactor zygote supportagl@chromium.org2009-06-121-6/+3
| | | | | | | | | | | | | | | | | | | http://code.google.com/p/chromium/wiki/LinuxZygote * Move Chrome specific bits out of base * Move away from the idea of reserved file descriptors (which don't really work with zygotes) * Load resources before forking renderers (means that we don't need communication between the zygote process and the renderers) * Make sure that gdb works against the browser again * Make sure that we have different ASLR between the renderers and the browser. http://codereview.chromium.org/119335 (This is a reland. First landed in r18109, reverted in r18112.) git-svn-id: svn://svn.chromium.org/chrome/trunk/src@18291 0039d316-1c4b-4281-b951-d872f2087c98
* Revert 18109, 18111: Windows UI tests failed.agl@chromium.org2009-06-101-3/+6
| | | | git-svn-id: svn://svn.chromium.org/chrome/trunk/src@18112 0039d316-1c4b-4281-b951-d872f2087c98
* Linux: refactor zygote supportagl@chromium.org2009-06-101-6/+3
| | | | | | | | | | | | | | | | | | http://code.google.com/p/chromium/wiki/LinuxZygote * Move Chrome specific bits out of base * Move away from the idea of reserved file descriptors (which don't really work with zygotes) * Load resources before forking renderers (means that we don't need communication between the zygote process and the renderers) * Make sure that gdb works against the browser again * Make sure that we have different ASLR between the renderers and the browser. http://codereview.chromium.org/119335 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@18109 0039d316-1c4b-4281-b951-d872f2087c98
* Add a stack-based class for property disabling and re-enabling screen ↵pinkerton@chromium.org2009-06-091-0/+1
| | | | | | | | | | updating without epic fail. Fixes issues where we weren't re-enabling updates in many cases which caused both jank and resize issues. BUG=13476 TEST=closing windows shouldn't have jank regardless of the # of tabs. Resizing a window shouldn't explode visually in the chrome. Review URL: http://codereview.chromium.org/119363 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@17956 0039d316-1c4b-4281-b951-d872f2087c98
* Prototype implementation of zygotes. dkegel@google.com2009-06-061-0/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Limitations that need addressing still: - Doesn't forcibly terminate children that should have exited but haven't Enable with env var ENABLE_ZYGOTE_MANAGER=1. BUG=11841 TEST= start the browser, then make chrome and all .pak files unreadable; or alternately, start an installed browser, and uninstall the browser while it's running. Then create a new tab and browse to two new sites. Here's an example script to hide and unhide the .pak files (note: do not move the directory they're in, that doesn't work): #!/bin/sh chmod_all() { chmod $1 sconsbuild/Debug/chrome for path in . locales obj/chrome/app/intermediate/repack obj/global_intermediate/* themes do chmod $1 sconsbuild/Debug/$path/*.pak done } case $1 in hide) chmod_all 000 ;; show) chmod_all 755 ;; esac Review URL: http://codereview.chromium.org/115773 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@17840 0039d316-1c4b-4281-b951-d872f2087c98
* Introduce SignatureCreator.aa@chromium.org2009-06-051-0/+8
| | | | | | Review URL: http://codereview.chromium.org/118277 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@17745 0039d316-1c4b-4281-b951-d872f2087c98
* Only update files from .version templates when a file changesgk@google.com2009-06-041-11/+2
| | | | | | | | | | | | | indicates it's necessary (now that fetching the last change info is in a separate target executed every build) by getting rid of the never-built .bogus files in the rules. Update chrome/installer/installer.gyp with the new patterns. Make the use of the *_path variable names more consistent. BUG=none TEST=none Review URL: http://codereview.chromium.org/119181 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@17668 0039d316-1c4b-4281-b951-d872f2087c98
* Fetch last change (revision) info in a separate action that can runsgk@google.com2009-06-041-3/+8
| | | | | | | | | | every build, instead of having it occur as a side effect of updating some other target for which we want to use normal up-to-date checks. BUG=none TEST=none Review URL: http://codereview.chromium.org/118192 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@17634 0039d316-1c4b-4281-b951-d872f2087c98
* Fix msvs_guid for gmock and re-add gmock_unittest into base_unittest.ajwong@chromium.org2009-05-301-1/+1
| | | | | | | | | | | | The issue is that if there are lower case characters in the msvs_guid, incredibuild will silently ignore the target during a _command-line_ build. This issue does not affect builds in visual studio (incredibuild-based, or regular), but it does break the build bots. Review URL: http://codereview.chromium.org/118013 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@17287 0039d316-1c4b-4281-b951-d872f2087c98
* Removing gmock from build since it has unresolvned xternsjar@chromium.org2009-05-281-1/+1
| | | | | | | | | Repairing tree bustage. r=jrg Review URL: http://codereview.chromium.org/113975 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@17129 0039d316-1c4b-4281-b951-d872f2087c98
* Readd the gmock unittest example from the build as it causes link errors in ↵ajwong@chromium.org2009-05-281-0/+2
| | | | | | | | | | | | XP Modules. Learned how to do a clobber build so retrying with that. Hope springs eternal. Original Review URL: http://codereview.chromium.org/113807 Review URL: http://codereview.chromium.org/113938 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@17068 0039d316-1c4b-4281-b951-d872f2087c98
* Remove the gmock unittest example from the build as it causes link errors in ↵ajwong@chromium.org2009-05-281-2/+0
| | | | | | | | XP Modules. Review URL: http://codereview.chromium.org/115854 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@17067 0039d316-1c4b-4281-b951-d872f2087c98
* Retry to checkin a version of gmock, modified to use our boost_tuple in VS2005.ajwong@chromium.org2009-05-281-5/+7
| | | | | | | | | | This checkin adds gmock, and a small example of how to write a gmock-based unittest. Original Review URL: http://codereview.chromium.org/113807 Review URL: http://codereview.chromium.org/115846 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@17066 0039d316-1c4b-4281-b951-d872f2087c98
* Revert "Checkin a version of gmock, modified to use our boost_tuple in VS2005."ajwong@chromium.org2009-05-261-7/+5
| | | | | | This reverts commit 071e95bcdcefcd2cb86c9aed5cb073bbcaa7f2a7. git-svn-id: svn://svn.chromium.org/chrome/trunk/src@16931 0039d316-1c4b-4281-b951-d872f2087c98
* Checkin a version of gmock, modified to use our boost_tuple in VS2005.ajwong@chromium.org2009-05-261-5/+7
| | | | | | | | This checkin adds gmock, and a small example of how to write a gmock-based unittest. Review URL: http://codereview.chromium.org/113807 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@16927 0039d316-1c4b-4281-b951-d872f2087c98
* Fix /SUBSYSTEM:WINDOWS setting left out of previous CL.sgk@google.com2009-05-221-0/+5
| | | | | | | | TEST=none BUG=none Review URL: http://codereview.chromium.org/113753 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@16712 0039d316-1c4b-4281-b951-d872f2087c98
* Promotes Add/RemoveObserver to MessageLoop for linux. Becausesky@chromium.org2009-05-181-0/+3
| | | | | | | | | | | | message_loop.h now includes message_pump_glib.h I needed to update the dependencies of a couple of projects. BUG=none TEST=none Review URL: http://codereview.chromium.org/112032 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@16317 0039d316-1c4b-4281-b951-d872f2087c98
* Add xdg mime support on Linux.thestig@chromium.org2009-05-161-2/+23
| | | | | | | BUG=10049 Review URL: http://codereview.chromium.org/113168 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@16227 0039d316-1c4b-4281-b951-d872f2087c98
* Rewrite version.sh as version.py to work better with gyp and be moresgk@google.com2009-05-151-10/+23
| | | | | | | | | generic (no hard-coded list of substitution variables, only use file names specified from the command line). Update base.gyp with the to generate file_version_info_linux.h with the new calling convention. Review URL: http://codereview.chromium.org/113432 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@16211 0039d316-1c4b-4281-b951-d872f2087c98
* Fix a dependency problem in base.gyp, so that file_version_info_linux.hphajdan.jr@chromium.org2009-05-131-0/+4
| | | | | | | | is generated before it is used. Review URL: http://codereview.chromium.org/113256 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@15960 0039d316-1c4b-4281-b951-d872f2087c98
* Move scoped_vector.h and stl_util-inl.h to base/ben@chromium.org2009-05-051-0/+2
| | | | | | | | http://crbug.com/11387 Review URL: http://codereview.chromium.org/107001 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@15272 0039d316-1c4b-4281-b951-d872f2087c98
* POSIX: Add code for shuffling file descriptors.agl@chromium.org2009-04-301-0/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | When forking a child process, one often wants to move existing file descriptors to well known locations (stdout, stderr etc). However, this is a process bedeviled with corner cases. Consider the case where you open two file descriptors, get assigned fds 1 and 0 for them and wish to shuffle them so that they end up in slots 0 and 1. Our current code fails in this case. We also have a problem where we're currently trying to mark file descriptors as close-on-exec rather than closing them in the child process. This is inherently broken in a multithreaded process where another thread can open a file descriptor and race the loop which is trying to mark them. Thus, on Linux we switch to close-after-fork where we known that no other threads exist in the process. On Mac, the code is sufficiently different that this simple fix isn't applicable and one of the Mac folks will need to take a look. http://codereview.chromium.org/100127 BUG=11174 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@14978 0039d316-1c4b-4281-b951-d872f2087c98
* Add DirectoryWatcher implementation for Mac.phajdan.jr@chromium.org2009-04-301-5/+2
| | | | | | | | | | | | This uses FSEvents and supports both recursive and non-recursive modes. TEST=Make sure that tests matching DirectoryWatcherTest.* from base_unittests pass on Mac. http://crbug.com/10967 Review URL: http://codereview.chromium.org/99057 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@14977 0039d316-1c4b-4281-b951-d872f2087c98