Commit Graph

34 Commits

Author SHA1 Message Date
Birunthan Mohanathas
ff8ce9bd42 Bug 900908 - Part 3: Change uses of numbered macros in nsIClassInfoImpl.h/nsISupportsImpl.h to the variadic variants. r=froydnj 2014-04-27 03:06:00 -04:00
Chris Peterson
12d33949d5 Bug 973795 - Fix -Wreorder and -Wsign-compare warnings in nsThreadPool.cpp. r=bsmedberg 2014-02-17 23:11:56 -08:00
Chris Pearce
b7ed5c7bc7 Bug 968016 - Add threadStackSize attribute to nsIThreadPool. r=bsmedberg 2014-02-18 11:53:53 +13:00
Chris Pearce
fbe22075af Bug 968016 - Implement nsThreadPool::IsOnCurrentThread() to return true when the current thread is in the thread pool. r=bsmedberg
This is so that we can assert that media decode threads are in the decode thread pool.
2014-02-18 11:53:52 +13:00
Benjamin Smedberg
9bfc4e98e3 Bug 672843 part C - convert most of XPCOM except for xpcom/tests, r=vdjeric 2013-11-19 16:27:37 -05:00
Ehsan Akhgari
5850c6bcff Bug 936912 - Build xpcom in unified mode; r=froydnj 2013-11-18 21:34:00 -05:00
Karl Tomlinson
727bf8ca64 back out 242bb2279283 from bug 928222 on suspicion of causing bugs 930495 930479 930428 2013-10-25 17:40:39 +13:00
Karl Tomlinson
47186024e8 b=928222 remove nsThreadPool per-thread event queues r=bsmedberg
The way idle nsThreadPool threads wait with a timeout doesn't work well with
shutdown from nsThreadManager.

nsThreadPool doesn't need to use nsIThread for its threads.  The nsIThread
interface is not useful for threads running in an nsThreadPool.
The nsIEventTarget on the nsIThreadPool should be used for dispatching events,
not an interface on the individual threads, and the threads don't need an
nsEventQueue because they use the nsEventQueue on the nsThreadPool.

Shutdown of single event threads is easier than running nested event loops for
nsIThreads, avoiding the multilevel nested event loop situations when several
threads finish and are shutdown.  While the ThreadFunc is running, a nested
event loop is still used in Shutdown() in case some consumers might need it
and because that is the documented API.

This also simplifies thread creation, avoiding races that could mean there was
temporarily an extra thread or more.

--HG--
extra : transplant_source : %F7%14%16%12%EF%E9%84%19D%26%3C%FE%1F%EC%FF%A3%BAG%C4%F3
2013-10-24 09:31:15 +13:00
Karl Tomlinson
7dbf5c98ba b=926522 remove unecessary shutdown code from ~nsThreadPool r=bsmedberg
While threads are processing their initial runnable, which is the nsThreadPool, it will not be
destroyed.  The threads remove themselves from mThreads before returning from Run().

This includes removal of changes from bug 900711.

--HG--
extra : transplant_source : %EF%E9%94L%E9d%F5%99b%09r%CB%024%86%88%BA%EFi%29
2013-10-24 07:21:37 +13:00
Birunthan Mohanathas
8931f631a5 Bug 784739 - Switch from NULL to nullptr in xpcom/ (3/3); r=ehsan 2013-10-10 16:42:16 -04:00
Ben Turner
daf48f83c0 Bug 900711, fix bustage on CLOSED TREE 2013-08-22 09:48:43 -07:00
Ben Turner
7babe734dc Bug 900711 - '~nsIThreadPool can run the event loop if shutdown has not been called'. r=ehsan. 2013-08-02 13:19:36 -07:00
Joshua Cranmer
03b669f709 Bug 884061 - Part 3y: Use NS_DECL_THREADSAFE_ISUPPORTS in xpcom/, r=bsmedberg
--HG--
extra : rebase_source : d54f6973e3ff859207115013e8361781769ffc76
2013-07-18 21:31:26 -05:00
Michal Novotny
6478173231 Bug 886791 - Deadlock can occur if nsThreadPool::Dispatch() is called under lock, r=bsmedberg 2013-06-26 01:18:39 +02:00
Chris Peterson
81b2f45d57 Bug 873960 - Avoid unnecessary idle thread notifications when changing thread limits. r=bsmedberg 2013-05-16 09:02:46 -07:00
Chris Peterson
539e783497 Bug 839962 - Part 2: Replace some XPCOM thread NS_ASSERTIONs with MOZ_ASSERTs. r=bsmedberg 2013-02-07 21:54:20 -08:00
Chris Peterson
481aeddb5f Bug 839962 - Part 1: Replace some XPCOM refcount NS_ASSERTIONs with MOZ_ASSERTs. r=bsmedberg 2013-02-07 20:50:05 -08:00
Nathan Froyd
bd55a07f0e Bug 806618 - rewrite PR_NewLogModule calls to not generate static initializers; r=ehsan 2012-10-29 19:32:10 -04:00
Ehsan Akhgari
0fd9123eac Bug 579517 - Part 1: Automated conversion of NSPR numeric types to stdint types in Gecko; r=bsmedberg
This patch was generated by a script.  Here's the source of the script for
future reference:

function convert() {
echo "Converting $1 to $2..."
find . ! -wholename "*nsprpub*" \
       ! -wholename "*security/nss*" \
       ! -wholename "*/.hg*" \
       ! -wholename "obj-ff-dbg*" \
       ! -name nsXPCOMCID.h \
       ! -name prtypes.h \
         -type f \
      \( -iname "*.cpp" \
         -o -iname "*.h" \
         -o -iname "*.c" \
         -o -iname "*.cc" \
         -o -iname "*.idl" \
         -o -iname "*.ipdl" \
         -o -iname "*.ipdlh" \
         -o -iname "*.mm" \) | \
    xargs -n 1 sed -i -e "s/\b$1\b/$2/g"
}

convert PRInt8 int8_t
convert PRUint8 uint8_t
convert PRInt16 int16_t
convert PRUint16 uint16_t
convert PRInt32 int32_t
convert PRUint32 uint32_t
convert PRInt64 int64_t
convert PRUint64 uint64_t

convert PRIntn int
convert PRUintn unsigned

convert PRSize size_t

convert PROffset32 int32_t
convert PROffset64 int64_t

convert PRPtrdiff ptrdiff_t

convert PRFloat64 double
2012-08-22 11:56:38 -04:00
Honza Bambas
41779e1714 Bug 720778 - Important threads should have a name for better debugability, r=bsmith, sr=bsmedberg+glandium 2012-06-12 19:06:20 +02:00
Gervase Markham
ca171eec44 Bug 716478 - update licence to MPL 2. 2012-05-21 12:12:37 +01:00
Benjamin Smedberg
29cd67e86a Bug 675221 part A: replace XPCOM proxies with runanble for code in XPCOM itself, r=bz 2012-01-11 11:28:21 -05:00
Ehsan Akhgari
2a602a5685 Bug 690892 - Replace PR_TRUE/PR_FALSE with true/false on mozilla-central; rs=dbaron
Landing on a CLOSED TREE
2011-10-17 10:59:28 -04:00
Michael Wu
d8e503c38b Bug 675553 - Switch from PRBool to bool on a CLOSED TREE , r=bsmedberg,khuey,bz,cjones
--HG--
rename : tools/trace-malloc/bloatblame.c => tools/trace-malloc/bloatblame.cpp
2011-09-28 23:19:26 -07:00
Chris Pearce
3683db2819 Bug 664341 - Provide API to specify thread stack size. r=bsmedberg 2011-07-27 15:26:47 +12:00
Chris Jones
ed22df8f64 Bug 556214, parts 1 and 1.1: Rename Monitor to ReentrantMonitor and fix existing Monitor users. r=roc
--HG--
rename : xpcom/glue/Monitor.h => xpcom/glue/ReentrantMonitor.h
2011-04-29 14:21:57 -05:00
Chris Jones ext:(%20and%20Kyle%20Huey%20%3Ckhuey%40kylehuey.com%3E)
0bb511a3d7 Rollup of bug 645263 and bug 646259: Switch to mozilla:: sync primitives. r=cjones,dbaron,doublec,ehsan src=bsmedberg
Bug 645263, part 0: Count sync primitive ctor/dtors. r=dbaron
Bug 645263, part 1: Migrate content/media to mozilla:: sync primitives. r=doublec
Bug 645263, part 2: Migrate modules/plugin to mozilla:: sync primitives. sr=bsmedberg
Bug 645263, part 3: Migrate nsComponentManagerImpl to mozilla:: sync primitives. sr=bsmedberg
Bug 645263, part 4: Migrate everything else to mozilla:: sync primitives. r=dbaron
Bug 645263, part 5: Remove nsAutoLock.*. sr=bsmedberg
Bug 645263, part 6: Make editor test be nicer to deadlock detector. r=ehsan
Bug 645263, part 7: Disable tracemalloc backtraces for xpcshell tests. r=dbaron
Bug 646259: Fix nsCacheService to use a CondVar for notifying. r=cjones
2011-03-31 23:29:02 -05:00
Chris Jones
a75fb12531 Backed out changeset 4beec31b9ea9 for increasing frequency of intermittent orange bug 618052 2011-03-31 18:57:38 -05:00
Chris Jones ext:(%20and%20Kyle%20Huey%20%3Ckhuey%40kylehuey.com%3E)
cc8b4c9c6c Rollup of bug 645263 and bug 646259: Switch to mozilla:: sync primitives. r=cjones,dbaron,doublec,ehsan src=bsmedberg
Bug 645263, part 0: Count sync primitive ctor/dtors. r=dbaron
Bug 645263, part 1: Migrate content/media to mozilla:: sync primitives. r=doublec
Bug 645263, part 2: Migrate modules/plugin to mozilla:: sync primitives. sr=bsmedberg
Bug 645263, part 3: Migrate nsComponentManagerImpl to mozilla:: sync primitives. sr=bsmedberg
Bug 645263, part 4: Migrate everything else to mozilla:: sync primitives. r=dbaron
Bug 645263, part 5: Remove nsAutoLock.*. sr=bsmedberg
Bug 645263, part 6: Make editor test be nicer to deadlock detector. r=ehsan
Bug 645263, part 7: Disable tracemalloc backtraces for xpcshell tests. r=dbaron
Bug 646259: Fix nsCacheService to use a CondVar for notifying. r=cjones
2011-03-31 14:51:19 -05:00
Benjamin Smedberg
202aa47626 Bug 568691 - Add CID data back to classinfo because it's required for fastload to work correctly. 2010-06-22 12:59:57 -04:00
Benjamin Smedberg
9045c05660 Bug 568691 part A - register static and binary components using data tables rather than programmatic nsIComponentRegistrar methods. This part contains the important needs-review bits of the change: part B contains the mechanical changes to each module in order to actually get a working build. Part C will contain changes necessary to register JS components from .manifest files 2010-06-10 14:11:11 -04:00
Ben Turner
fd62775c3a Bug 449885 - "Threadpool calls shutdown on its threads twice when shutdown called on the threadpool". r=bsmedberg. 2008-08-14 12:04:31 -07:00
Ben Turner
9c28406278 Bug 443874 - "Need a hook for thread creation and destruction in thread pool." r=bsmedberg, jst. Test shouldn't hang now. 2008-08-11 17:01:47 -07:00
hg@mozilla.com
465265d0d4 Free the (distributed) Lizard! Automatic merge from CVS: Module mozilla: tag HG_REPO_INITIAL_IMPORT at 22 Mar 2007 10:30 PDT, 2007-03-22 10:30:00 -07:00