Commit Graph

5 Commits

Author SHA1 Message Date
hjk
8397663964 Update license. 2011-04-13 11:49:28 +02:00
con
d1023c7614 It's 2011 now.
Reviewed-by: hjk
2011-01-12 09:46:24 +01:00
con
04e32b0049 License headers. 2010-12-17 16:03:42 +01:00
Kai Koehne
7f1f9e14af Fix crashes when loading large .qmlproject's (Mac OS X)
There is a hard limit on the number of file handles that can be open at one point per process on Mac OS X (e.g. it's 2560 on Mac OS X Snow Leopard Server, as shown by ulimit -a). Opening one or several .qmlproject's with a large number of directories to watch easily exceeds this. The results are crashes later on, e.g. when threads cannot be created any more.

This patch implements a heuristic that the file system watcher used for .qmlproject files never uses more than half the number of available file handles. It also increases the number from rlim_cur to rlim_max - the old code in main.cpp failed, see last section in

 http://developer.apple.com/maac/library/documentation/Darwin/Reference/ManPages/man2/setrlimit.2.html

for details.

Reviewed-by: ckamm
Task-number: QTCREATORBUG-1487
Task-number: QTCREATORBUG-1486
2010-05-28 14:14:42 +02:00
Kai Koehne
48d195969d QmlProjectFiles: Dramatically reduce number of watched fs entities
Only watch directories, and not single files. Also, share one
FileSystemWatcher between projects & FileFilter items.

This fixes the issue that the process runs out of file handles e.g.
when loading a .qmlproject file containing all of qt examples & demos.

Basic implementation of FileSystemWatcher was copied from
ProjectExplorer::FileWatcher - however the FileWatcher is only
for files (and not directories), and also monitors the last
change date etc.
2010-03-29 15:57:06 +02:00