git-annex/Utility
Joey Hess 68f9766544
Improve --debug output to show pid of processes that are started and stopped
getPid returns Nothing if the process has already been stopped, and in that
case, the pid will not be displayed. I think that would only happen if
waitForProcess or similar gets called more than once on the same process
handle though.

getPid on unix has an overhead of only a MVar read. On Windows it needs to
make a syscall, so will be probably more expensive. While the added expense
happens even when debug logging is disabled, it should be small enough
compared with the overhead of starting a process that it's not a problem.

(It does occur to me that a debugM that took an IO String could only run it
when debugging is really enabled, which would improve performance. It does
not seem possible to use the current hslogger interface to do that though;
it does not expose the information that would be needed.)
2020-09-24 12:39:57 -04:00
..
Directory explict export lists 2019-11-21 16:08:37 -04:00
DirWatcher explict export lists 2019-11-21 16:08:37 -04:00
Env fix a annex.pidlock issue 2020-06-17 15:30:59 -04:00
LockFile Display a message when git-annex has to wait for a pid lock file held by another process 2020-08-26 13:05:34 -04:00
LockPool Display a message when git-annex has to wait for a pid lock file held by another process 2020-08-26 13:05:34 -04:00
Path explict export lists 2019-11-21 16:08:37 -04:00
Process fix build on windows 2020-07-01 16:53:50 -04:00
Scheduled explict export lists 2019-11-23 11:24:10 -04:00
Tmp explict export lists 2019-11-23 11:24:10 -04:00
Aeson.hs switch MetaValue to ByteString and MetaField to Text 2019-01-07 14:18:24 -04:00
Android.hs explict export lists 2019-11-21 16:08:37 -04:00
Applicative.hs squelch tab warnings 2019-11-22 12:49:41 -04:00
Attoparsec.hs fix git ls-tree parser 2019-12-06 14:05:48 -04:00
AuthToken.hs comment typo 2019-01-03 00:22:05 -04:00
Base64.hs switch MetaValue to ByteString and MetaField to Text 2019-01-07 14:18:24 -04:00
Batch.hs simplify 2020-06-03 13:01:18 -04:00
Bloom.hs remove many old version ifdefs 2019-07-05 15:09:37 -04:00
CoProcess.hs Revert "async exception safety for coprocesses" 2020-07-06 15:11:28 -04:00
CopyFile.hs convert to withCreateProcess for async exception safety 2020-06-04 15:45:52 -04:00
Daemon.hs some easy createDirectoryUnder conversions 2020-03-05 15:20:10 -04:00
Data.hs explict export lists 2019-11-21 16:08:37 -04:00
DataUnits.hs adeiu, MissingH 2017-05-16 01:03:52 -04:00
DBus.hs explict export lists 2019-11-21 16:08:37 -04:00
DebugLocks.hs explict export lists 2019-11-21 16:08:37 -04:00
Directory.hs improve comment 2020-09-07 15:39:07 -04:00
DirWatcher.hs explict export lists 2019-11-21 16:08:37 -04:00
DiskFree.hs removed the old Android app 2018-10-13 01:41:11 -04:00
Dot.hs explict export lists 2019-11-21 16:08:37 -04:00
DottedVersion.hs explict export lists 2019-11-21 16:08:37 -04:00
Env.hs explict export lists 2019-11-21 16:08:37 -04:00
Exception.hs Revert "async exception safety for coprocesses" 2020-07-06 15:11:28 -04:00
FileMode.hs avoid build warning 2020-09-07 15:10:09 -04:00
FileSize.hs use RawFilePath getFileStatus for speed 2019-12-06 14:44:42 -04:00
FileSystemEncoding.hs use conversion functions from filepath-bytestring (again) 2020-01-04 20:18:40 -04:00
Format.hs add a formatContainsVar function 2020-05-19 15:35:00 -04:00
FreeDesktop.hs use System.Directory not Utility.Directory 2016-09-22 11:34:55 -04:00
GitLFS.hs Build with the git-lfs library when available 2020-06-22 11:21:25 -04:00
Glob.hs adeiu, MissingH 2017-05-16 01:03:52 -04:00
Gpg.hs avoid failure when gpgconf is not in path 2020-09-08 12:21:24 -04:00
Hash.hs split up quickcheck tests for hashes and macs 2020-03-02 14:34:48 -04:00
HtmlDetect.hs explict export lists 2019-11-21 16:08:37 -04:00
HttpManagerRestricted.hs Build with the http-client-restricted library when available 2020-06-22 11:31:31 -04:00
HumanNumber.hs explict export lists 2019-11-21 16:08:37 -04:00
HumanTime.hs avoid using MonadFail in ParseDuration 2020-08-15 15:53:35 -04:00
InodeCache.hs Merge branch 'bs' into sqlite-bs 2019-12-18 14:51:03 -04:00
IPAddress.hs annex.security.allowed-ip-addresses ports syntax 2020-02-25 15:45:52 -04:00
libkqueue.c update my email address and homepage url 2015-01-21 12:50:09 -04:00
libkqueue.h fix prototype 2012-06-19 01:57:19 -04:00
LinuxMkLibs.hs Slightly sped up the linux standalone bundle 2020-07-31 14:42:03 -04:00
LockFile.hs use lock pools throughout git-annex 2015-05-19 14:09:52 -04:00
LockPool.hs Fix shared lock file FD leak. 2016-03-01 15:31:39 -04:00
LogFile.hs explict export lists 2019-11-21 16:08:37 -04:00
Lsof.hs convert to withCreateProcess for async exception safety 2020-06-04 12:44:09 -04:00
MagicWormhole.hs convert to withCreateProcess 2020-06-03 13:15:01 -04:00
Matcher.hs avoid list lookup by parseToken 2019-05-14 13:11:29 -04:00
MD5.hs use filepath-bytestring for annex object manipulations 2019-12-11 15:25:07 -04:00
Metered.hs improve slightly 2020-08-10 16:33:58 -04:00
Misc.hs ByteString Ref continued 2020-04-07 11:54:27 -04:00
Monad.hs explict export lists 2019-11-21 16:08:37 -04:00
Mounts.hs removed the old Android app 2018-10-13 01:41:11 -04:00
Network.hs explict export lists 2019-11-21 16:08:37 -04:00
NotificationBroadcaster.hs update my email address and homepage url 2015-01-21 12:50:09 -04:00
OptParse.hs explict export lists 2019-11-21 16:08:37 -04:00
OSX.hs explict export lists 2019-11-21 16:08:37 -04:00
PartialPrelude.hs explict export lists 2019-11-21 16:08:37 -04:00
Path.hs add SeekInput (not yet used) 2020-09-15 15:41:13 -04:00
Percentage.hs update my email address and homepage url 2015-01-21 12:50:09 -04:00
PID.hs explict export lists 2019-11-21 16:08:37 -04:00
Process.hs Improve --debug output to show pid of processes that are started and stopped 2020-09-24 12:39:57 -04:00
QuickCheck.hs remove many old version ifdefs 2019-07-05 15:09:37 -04:00
RawFilePath.hs document 2020-07-19 21:31:06 -04:00
ResourcePool.hs check-attr resource pool 2020-04-21 11:05:57 -04:00
Rsync.hs explict export lists 2019-11-21 16:08:37 -04:00
SafeCommand.hs avoid failure when gpgconf is not in path 2020-09-08 12:21:24 -04:00
Scheduled.hs add dropFromEnd 2018-11-23 11:24:05 -04:00
Shell.hs explict export lists 2019-11-23 11:24:10 -04:00
SimpleProtocol.hs remove redundant imports 2020-06-22 11:05:34 -04:00
Split.hs reword comment 2019-11-27 16:38:18 -04:00
SshConfig.hs explict export lists 2019-11-23 11:24:10 -04:00
SshHost.hs avoid the dashed ssh hostname class of security holes 2017-08-17 22:11:31 -04:00
Su.hs explict export lists 2019-11-21 16:08:37 -04:00
SystemDirectory.hs Fix build with directory-1.3. 2016-12-20 15:23:59 -04:00
Tense.hs explict export lists 2019-11-23 11:24:10 -04:00
ThreadLock.hs explict export lists 2019-11-23 11:24:10 -04:00
ThreadScheduler.hs explict export lists 2019-11-23 11:24:10 -04:00
TimeStamp.hs explict export lists 2019-11-23 11:24:10 -04:00
TList.hs further change to support dlist-1.0 2020-08-05 10:37:14 -04:00
Tmp.hs fix build 2020-09-02 14:59:22 -04:00
Tor.hs explict export lists 2019-11-23 11:24:10 -04:00
Touch.hs remove unused import 2018-10-30 13:38:29 -04:00
Tuple.hs explict export lists 2019-11-23 11:24:10 -04:00
Url.hs deepseq all things returned from ResourceT http 2020-09-14 18:30:06 -04:00
UserInfo.hs removed the old Android app 2018-10-13 01:41:11 -04:00
Verifiable.hs explict export lists 2019-11-23 11:24:10 -04:00
WebApp.hs explict export lists 2019-11-23 11:24:10 -04:00
Yesod.hs remove many old version ifdefs 2019-07-05 15:09:37 -04:00