| Commit message (Collapse) | Author | Age |
|
|
|
|
|
|
|
| |
5.20140707).
Reversion introduced in 89c188fac37c20c40b0a9dabeb35403cfa4e4f52.
The locking code was wrong; the webapp re-ran itself, saw pid was locked,
and so didn't start!
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
|
| |
This avoids ssh prompting for passwords on stdin, ever.
It may also change other behavior of other programs, as there is no
controlling terminal now. However, setsid was already done when running the
assistant in daemon mode, so any behavior changes should not be really new.
|
|
|
|
|
| |
Omitted a couple of files what have had significant contributions from
others.
|
| |
|
| |
|
|
|
|
|
| |
Well, as much as it can be fixed on windows. Not atomic; not entirely
guarded against the wrong process having the pid file locked.
|
|
|
|
|
|
|
|
|
|
|
| |
The ctrl-c hack used before didn't actually seem to work.
No haskell libraries expose TerminateProcess. I tried just calling it via
FFI, but got segfaults, probably to do with the wacky process handle not
being managed correctly. Moving it all into one C function worked.
This was hell. The EvilLinker hack was just final icing on the cake.
We all know what the cake was made of.
|
| |
|
|
|
|
| |
The Utility.PID will clean up other code soon.
|
| |
|
| |
|
|
|
|
|
| |
AFAIK, none of these ever operate on directories, but nor do I want to
explicitly check if they're files and fail if not.
|
|
|
|
|
|
|
|
|
| |
Turns out that forkProcess masks async exceptions. Unmask them so that the
daemon code can use them for thread IPC.
There is some risk this introduces breakage in git-annex, but it would be
breakage that would already occur when the assistant was run with
--foreground.
|
| |
|
|
|
|
|
| |
The latter is harder for me to remember, but avoids build failures in code
used by the configure program.
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
|
| |
That's needed in files used to build the configure program.
For the other files, I'm keeping my __WINDOWS__ define, as I find that much easier to type.
I may search and replace it to use the mingw32_HOST_OS thing later.
|
| |
|
|
|
|
|
|
| |
This cannot completely guard against a runaway log event, and only runs
every hour anyway, but it should avoid most problems with very
long-running, active assistants using up too much space.
|
|
|
|
|
|
|
|
| |
It used to not log to daemon.log when a repository was first created, and
when starting the webapp. Now both do. Redirecting stdout and stderr to the
log is tricky when starting the webapp, because the web browser may want to
communicate with the user. (Either a console web browser, or web.browser = echo)
This is handled by restoring the original fds when running the browser.
|
| |
|
|
|
|
|
| |
Display it before daemon forks, so it's not shown after the shell prompt
returns.
|
| |
|
|
|
|
|
|
|
|
| |
This prevents multiple runs of the assistant in the foreground, and lets
--stop stop foregrounded runs too.
The webapp firstrun case also now writes a pid file, once it's made the git
repo to put it in.
|
|
|
|
| |
Useful for testing..
|
|
|
|
| |
Also, starts the assistant if it wasn't already running.
|
| |
|
|
|
|
| |
need to truncate, or part of previous longer pid may be left after writing
|
| |
|
| |
|
|
|
|
|
| |
Ok, that's odd.. opening it before fork breaks the locking.
I don't understand why.
|
|
|
|
|
| |
Writes pid to a file. Is supposed to take an exclusive lock, but that's not
working, and it's too late for me to understand why.
|
|
|