git/list[1] front-page[2] threads[3] people[4] search[5] about
 

Re: Fwd: Fwd: git-daemon access-hook race condition

From
ESEugene Sajine <euguess@gmail.com>
Date
Sep 13, 2013, 17:17 UTC
Message-ID
<CAPZPVFY_AD+dg2C3TSDQW3fKXW9qiSMX70MuMtMsMxmnKBoVWA@mail.gmail.com>
In-Reply-To
<CAPZPVFZHyzPZnyg5gjhL0tP6Kgd=XFLc6o8ZKsmPXLUSdcc5mA@mail.gmail.com>
Show 22 quoted lines
>
> For now I'm trying to do the following:
>
> access-hook.bash has:
>
> delayed-notify.bash $@ &
>
> delayed-notify.bash has:
>
> sleep 10
> ...
> curl ...
>
> I'm expecting access-hook to spawn new process and return without
> waiting for it to finish to let the service to do its job. But when i
> do push - it sleeps for 10 seconds anyway. Am i missing something
> obvious here?
>
> Any help is much appreciated!
>
> Thanks,
> Eugene

I found a following solution to make it happen while waiting for somebody to be generous enough to take on the --post-service-hook (unfortunately i'm not a C guy):

It is using 'at' command. The access-hook script has:
echo "delayed-notify.bash $@" | at now
while delayed-notify.bash has:

sleep 10 curl ...

This is not perfect and in certain situations can still fail because the delay is not long enough but this will at least resolve 90% of issues.

I hope that might be helpful for someone.

Thanks, Eugene

Previous: Eugene SajineNext: Junio C Hamano
Message 7 of 10 in “Fwd: git-daemon access-hook race condition”
  1. Eugene SajineSep 12, 2013
  2. Junio C HamanoSep 12, 2013
  3. Fwd: Fwd: git-daemon access-hook race conditionEugene Sajine, Sep 12, 2013
  4. Junio C HamanoSep 12, 2013
  5. Eugene SajineSep 12, 2013
  6. Eugene SajineSep 12, 2013
  7. Eugene SajineSep 13, 2013
  8. Junio C HamanoSep 12, 2013
  9. Eugene SajineSep 12, 2013
  10. Junio C HamanoSep 12, 2013

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.