Commit graph

4429 commits

Author SHA1 Message Date
Joey Hess
9fc94d780b better readProcess 2012-07-19 00:57:40 -04:00
Joey Hess
1db7d27a45 add back debug logging
Make Utility.Process wrap the parts of System.Process that I use,
and add debug logging to them.

Also wrote some higher-level code that allows running an action
with handles to a processes stdin or stdout (or both), and checking
its exit status, all in a single function call.

As a bonus, the debug logging now indicates whether the process
is being run to read from it, feed it data, chat with it (writing and
reading), or just call it for its side effect.
2012-07-19 00:46:52 -04:00
Joey Hess
549f861999 fix parsing of startedTime 2012-07-18 20:48:08 -04:00
Joey Hess
2edb5d145c rewrote to not use forkProcess
That can make the threaded runtime stall.. But it can use threads now!
2012-07-18 19:25:46 -04:00
Joey Hess
cf47bb3f50 run file transfers in threads, not processes
This should fix OSX/BSD issues with not noticing transfer information
files with kqueue. Now that threads are used, the thread can manage the
transfer slot allocation and deallocation by itself; much cleaner.
2012-07-18 19:15:34 -04:00
Joey Hess
eea0a3616c add thread id field to transferinfo
Also converted its timestand to posix seconds, like is used in the other
log files.
2012-07-18 18:42:41 -04:00
Joey Hess
f520a2c103 add missing imports 2012-07-18 18:29:33 -04:00
Joey Hess
f2ed3d6c8e Merge branch 'threaded' into assistant 2012-07-18 18:17:33 -04:00
Joey Hess
d1da9cf221 switch from System.Cmd.Utils to System.Process
Test suite now passes with -threaded!

I traced back all the hangs with -threaded to System.Cmd.Utils. It seems
it's just crappy/unsafe/outdated, and should not be used. System.Process
seems to be the cool new thing, so converted all the code to use it
instead.

In the process, --debug stopped printing commands it runs. I may try to
bring that back later.

Note that even SafeSystem was switched to use System.Process. Since that
was a modified version of code from System.Cmd.Utils, it needed to be
converted too. I also got rid of nearly all calls to forkProcess,
and all calls to executeFile, which I'm also doubtful about working
well with -threaded.
2012-07-18 18:00:24 -04:00
Joey Hess
fc5652c811 Merge branch 'master' into threaded 2012-07-18 13:31:28 -04:00
Joey Hess
05310538ef more debugging 2012-07-18 13:31:00 -04:00
Joey Hess
cfdd4d6602 blog for the day and updates 2012-07-17 18:51:46 -04:00
Joey Hess
fb85d8e563 cleanup 2012-07-17 18:36:51 -04:00
Joey Hess
62a35162a0 bugfix 2012-07-17 18:35:56 -04:00
Joey Hess
32ac773934 kqueue: properly call delHook for file deletion, not delDirHook 2012-07-17 18:32:55 -04:00
Joey Hess
d53f70e203 avoid parsing lock files as transfer files
This seems to happen with kqueue, not inotify. The newly added lck file
triggers an add event and was then parsed as a transfer file.
2012-07-17 17:26:53 -04:00
Joey Hess
b702bae950 bugfix 2012-07-17 17:22:00 -04:00
Joey Hess
9ab9ef3ebd change transfer lock filenames to avoid ambiguity
foo.lck could be a lock file for a transfer of foo, or a transfer of a key
that happened to end in ".lck". Fix this by using "lck.foo" instead.
2012-07-17 17:16:30 -04:00
Joey Hess
30ac6d7be0 robustness fix
Don't fall over symlinks, and avoid crashing if the file goes away.
2012-07-17 16:29:49 -04:00
Joey Hess
7d89cf0eb9 cleanup 2012-07-17 16:02:29 -04:00
Joey Hess
e816776a62 add inodes to kqueue's directory cache
This is necessary to generate events when a file is deleted and immediately
replaced. Otherwise, the cache will have the old file, and so no event
would be generated.

Use of getFileStatus is suboptimal, it would be faster to use
the inode returned by readdir -- but getDirectoryContents does not expose
it, so I'd have to copy and modify a lot of low-level code.
2012-07-17 15:57:49 -04:00
Joey Hess
cfccfc19e0 Merge branch 'master' into assistant 2012-07-17 15:05:23 -04:00
Joey Hess
0962d50ad2 typo 2012-07-17 14:51:42 -04:00
Joey Hess
4db09814e4 avoid --no-edit with older git versions 2012-07-17 14:50:37 -04:00
Joey Hess
182526ff68 add debugging 2012-07-17 14:40:05 -04:00
Joey Hess
1d5582091e attempt at building with -threaded
Added a modified System.Cmd.Utils, working around bug #681621

Unfortunatly, the test suite still hangs partway through.
Some of the hangs occur within pOpen3 still. Some of the hangs
do not seem to occur within System.Cmd.Utils at all, but in some other
code.
2012-07-17 13:37:55 -04:00
Joey Hess
30f7b1599c Merge branch 'master' into assistant 2012-07-17 12:27:12 -04:00
Joey Hess
f5f8879471 map: Write map.dot to .git/annex, which avoids watch trying to annex it. 2012-07-17 12:27:06 -04:00
Joey Hess
c34d8ae088 avoid enqueing downloads from remotes that don't have the key 2012-07-17 12:17:01 -04:00
Joey Hess
b7d3cefde9 merge two shouldTransfer checks 2012-07-17 12:06:35 -04:00
Joey Hess
dc2e0d0d9b updates 2012-07-17 11:55:36 -04:00
Joey Hess
fa3aef96e2 Merge branch 'master' into assistant 2012-07-16 15:06:08 -04:00
http://www.joachim-breitner.de/
b1321745f5 2012-07-15 21:38:32 +00:00
Joey Hess
4fa3cb3e76 blog for the day 2012-07-14 16:25:07 -04:00
http://bergey.dreamwidth.org/
966c580e38 Added a comment: git-media 2012-07-14 15:42:06 +00:00
Joey Hess
06d2b60eef catchup blog 2012-07-14 00:45:39 -04:00
https://www.google.com/accounts/o8/id?id=AItOawlup4hyZo4eCjF8T85vfRXMKBxGj9bMdl0
e67877088c removed 2012-07-13 20:14:53 +00:00
https://www.google.com/accounts/o8/id?id=AItOawlup4hyZo4eCjF8T85vfRXMKBxGj9bMdl0
c07cfaec76 Added a comment: ARM support 2012-07-13 20:14:31 +00:00
https://www.google.com/accounts/o8/id?id=AItOawmB-gCGEs--zfmvYU-__Hj2FbliUXgxMDs
f869624f9c Added a comment: Fixed 2012-07-13 19:27:47 +00:00
https://www.google.com/accounts/o8/id?id=AItOawmB-gCGEs--zfmvYU-__Hj2FbliUXgxMDs
50a26cce89 Added a comment: Path problems 2012-07-13 19:15:16 +00:00
Joey Hess
ec55007740 remove duplicates 2012-07-13 14:05:19 -04:00
https://www.google.com/accounts/o8/id?id=AItOawlup4hyZo4eCjF8T85vfRXMKBxGj9bMdl0
167027f6e4 Added a comment: ARM support 2012-07-13 16:57:30 +00:00
https://www.google.com/accounts/o8/id?id=AItOawlup4hyZo4eCjF8T85vfRXMKBxGj9bMdl0
94ac8ab9bf Added a comment: ARM support 2012-07-13 16:56:24 +00:00
https://www.google.com/accounts/o8/id?id=AItOawlup4hyZo4eCjF8T85vfRXMKBxGj9bMdl0
a1f5b128a9 Added a comment: ARM support 2012-07-13 16:54:24 +00:00
https://www.google.com/accounts/o8/id?id=AItOawlup4hyZo4eCjF8T85vfRXMKBxGj9bMdl0
3882b3216a Added a comment: ARM support 2012-07-13 16:53:27 +00:00
https://www.google.com/accounts/o8/id?id=AItOawlup4hyZo4eCjF8T85vfRXMKBxGj9bMdl0
0a1e81b3ef Added a comment: ARM support 2012-07-13 16:52:01 +00:00
https://www.google.com/accounts/o8/id?id=AItOawlup4hyZo4eCjF8T85vfRXMKBxGj9bMdl0
41c3cb2ed3 Added a comment: ARM support 2012-07-13 16:51:44 +00:00
https://www.google.com/accounts/o8/id?id=AItOawlup4hyZo4eCjF8T85vfRXMKBxGj9bMdl0
5393d9b98d Added a comment: ARM support 2012-07-13 16:51:31 +00:00
https://www.google.com/accounts/o8/id?id=AItOawlup4hyZo4eCjF8T85vfRXMKBxGj9bMdl0
ee5a813391 Added a comment: ARM support 2012-07-13 16:51:17 +00:00
Joey Hess
bd037c4ca3 update 2012-07-13 12:07:54 -04:00