Граф коммитов

35 Коммитов

Автор SHA1 Сообщение Дата
Julian Seward f9dcb50ea7 Bug 1125091 - Make Nuwa be Valgrind-friendly. r=njn. 2015-06-01 12:18:00 +02:00
Cervantes Yu a4fc08450a Bug 1144535: Respect caller-specifed thread attributes in creating threads in the Nuwa process. r=asuth 2015-03-20 18:55:11 +08:00
Cervantes Yu f6a1d53736 Bug 1119157: Fix false over-recursion in web worker threads by cleaning up thread info in the processes forked from Nuwa. a=asuth
--HG--
extra : rebase_source : b207e5374f3c80cf78f89aaf33fd26c577a163b0
2015-02-17 16:25:24 +08:00
Mike Hommey 15332868d1 Fixup bug 1121269 for b2g bustage on a CLOSED TREE. r=me 2015-02-11 11:30:58 +09:00
Mike Hommey dcd952059c Bug 1129244 - [Nuwa] wrap pthread_mutex_trylock. r=thinker 2015-02-11 10:21:04 +09:00
Mike Hommey 2790dec186 Bug 1121269 - Remove TLS keys from bookkeeping in non-Nuwa processes too. r=thinker 2015-02-11 10:21:04 +09:00
Mike Hommey 49deb404a9 Bug 1121269 - Use a LinkedList to store TLS keys for Nuwa, and allocate the first element in a static buffer. r=thinker 2015-02-11 10:21:03 +09:00
Botond Ballo fda172c7fb Bug 1073003 - Remove an unused function in Nuwa.cpp. r=glandium
--HG--
extra : rebase_source : 96fa8ccbeab6c2046c9ca522307a82fe93b04327
2014-12-23 03:21:39 -05:00
Botond Ballo 7a5b4ebc78 Bug 1073003 - Fix -Wunused-variable in Nuwa.cpp. r=glandium
--HG--
extra : rebase_source : 6d902895f5e2d08be939213c414e763968d64547
2014-12-23 03:21:24 -05:00
Kai-Zhen Li 79d41284ef Bug 1103827 - Remove __pthread_cond_timedwait. r=cyu 2014-12-12 16:12:21 +08:00
Cervantes Yu 86d8d5884b Bug 1091533, Part 2: Implement NuwaAddThreadConstructor() to allow a thread to perform a custom action after being recreated in the content process. r=khuey,tlee 2014-11-06 19:34:03 +08:00
Cervantes Yu 160428a1e3 Bug 1091533, Part 1: Don't wrap tgkill() on the Nuwa process. r=BenWa 2014-11-06 19:10:52 +08:00
Ting-Yu Chou 1e305aa73a Bug 1038854 - Synchronize mutexes in pthread_cond_wait after recreating threads to avoid race conditions. Parts by Ting-Yu, r=khuey. Parts by Kyle Huey, r=thinker 2014-07-31 10:47:30 +08:00
Wes Kocher c60b44a7b1 Backed out changeset f73cd738c1fe (bug 1038854) a=backout 2014-07-31 15:04:49 -07:00
Ting-Yu Chou cce7014830 Bug 1038854 - Avoid making unlocked mutex to locked uncontended after recreating threads from pthread condition wait wrappers. r=khuey 2014-07-31 10:47:30 +08:00
Benoit Jacob 875ebd67ca Bug 1008254 - Allow Nuwa's global sAllThreads list to be non-empty on exit, to green a near-permanent orange on B2G mochitest-9 - r=khuey 2014-07-02 16:40:29 -04:00
Patrick Wang (Chih-Kai Wang) 01cc0c8352 Bug 1026864: prevent malloc from calling wrapped pthread_mutex_lock and get rid of LibcAllocator. r=cyu,r=glandium,r=khuey 2014-06-25 10:44:58 +08:00
Jed Davis 995ff094cd Bug 1024805 - Use TaggedAnonymousMemory for Nuwa thread stacks. r=khuey
Bonus fixes: make the guard page PROT_NONE instead of PROT_READ,
and correct the stack bounds passed to pthread_attr_setstack.
2014-06-18 17:41:00 +02:00
Patrick Wang (Chih-Kai Wang) 58e49a079d Bug 999323: use an extra thread to free stack of a exit thread in Nuwa. r=cyu,r=khuey 2014-06-10 16:02:45 +08:00
Robert O'Callahan 7043c985ba Bug 1006248. Part 1: Add MOZ_EXPORT in various places. r=glandium
--HG--
extra : rebase_source : cfe209a412cae28d405eae413415cebb6959072a
2014-05-06 17:26:46 +12:00
Gabriele Svelto 0f7f7f7cff Bug 982569 - Don't hard-code the page size. r=khuey 2014-04-21 19:32:48 +02:00
Nathan Froyd b87a188e24 Bug 988499 - terminate #warning string in Nuwa.cpp; r=khuey; f=tzimmerman DONTBUILD because #warnings don't need build and tests 2014-03-24 13:35:43 -04:00
Thomas Zimmermann 2fac99cc52 Bug 979913: Remove unused variables, r=khuey 2014-03-14 11:23:51 +01:00
Thomas Zimmermann fd33abc3bd Bug 979913: Conditionally define PAGE_SIZE, r=khuey
With this patch the PAGE_SIZE value from the system is used if
possible. If page size is not defined by the system, it is set
to 4096 bytes and a warning is emitted. PAGE_ALIGN_MASK is now
derived from PAGE_SIZE. With these changes, the code should be
more robust on systems with non-4KiB page size.
2014-03-14 11:23:51 +01:00
Carsten "Tomcat" Book 4442714511 Backed out changeset 3e9182f7e25d (bug 979913) 2014-03-14 09:39:35 +01:00
Carsten "Tomcat" Book 013dd86d57 Backed out changeset 79ee6fda8e65 (bug 979913) 2014-03-14 09:39:26 +01:00
Thomas Zimmermann ad35a39b55 Bug 979913: Remove unused variables, r=khuey 2014-03-14 09:24:05 +01:00
Thomas Zimmermann 69fdcaadac Bug 979913: Conditionally define PAGE_SIZE, r=khuey
With this patch the PAGE_SIZE value from the system is used if
possible. The code still assumes that the PAGE_SIZE is 4096, but
emits a warning if the actual value differs. If page size is not
defined by the system, it is set to 4096 bytes and a warning is
emitted as well.
2014-03-14 09:24:04 +01:00
Jed Davis 154d9c5e2a Bug 977859 - Drop uid 0 in all content processes immediately after fork. r=bent r=kang
Now all regular child processes, including preallocated, are deprivileged.
Only Nuwa needs uid 0, because each of its children has a different uid/gid.
2014-03-12 15:48:15 -07:00
Cervantes Yu 3b8647cc68 Bug 979741 - Use MOZ_DEBUG_CHILD_PROCESS environment variable for processes forked from Nuwa. r=khuey 2014-03-05 20:43:06 +08:00
Cervantes Yu 18af4cf1b7 Bug 966802 - Fix and protect from stack overflow of the threads cloned in the Nuwa process. r=khuey 2014-02-10 08:46:05 -05:00
Cervantes Yu 9556ddc7f7 Bug 961959: fix profiler breakage for the Nuwa process. r=khuey,benwa 2014-01-22 18:56:45 +08:00
Birunthan Mohanathas a159fb8617 Bug 784739 - Switch from NULL to nullptr in mozglue/; r=ehsan 2013-11-11 14:14:45 -05:00
Cervantes Yu 2f25875737 Bug 928186: fix nuwa process crash due to LibcAllocator not allocating enough memory. r=khuey 2013-10-17 17:00:00 +01:00
Thinker Lee ext:(%2C%20Cervantes%20Yu%20%3Ccyu%40mozilla.com%3E) 52df1fd957 Bug 771765 - Support template content process, part 1: the Nuwa API and low-level wrappers. r=khuey
Support of zygote-like process forking is done as:
* The b2g chrome process forks a child process that will be the template for forking other content processes.
* The template process starts running to some point and freeze.
* When ready, the chrome process starts requesting the template to fork content proceses.
* The content processes forked from the template process recovers its states including the threads, file descriptors for epoll, signaling and IPC.

Recovery of the process states are done by wrapping some system and pthread calls to record the states in the template process and recover in the forked content process.
2013-05-07 14:25:13 +08:00