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

Re: What's cooking in git.git (Sep 2014, #01; Tue, 2)

From
Torsten Bögershausen <tboegi@web.de>
Date
Sep 3, 2014, 18:45 UTC
Message-ID
<540761D5.5040501@web.de>
In-Reply-To
<5406B4EF.3050301@kdbg.org>
On 2014-09-03 08.27, Johannes Sixt wrote:
Show 33 quoted lines
> Am 03.09.2014 00:06, schrieb Junio C Hamano:
>> * jt/timer-settime (2014-08-29) 9 commits
>>  - use timer_settime() for new platforms
>>  - autoconf: check for timer_settime()
>>  - autoconf: check for struct itimerspec
>>  - autoconf: check for struct sigevent
>>  - autoconf: check for struct timespec
>>  - autoconf: check for timer_t
>>  - autoconf: check for setitimer()
>>  - autoconf: check for struct itimerval
>>  - git-compat-util.h: add missing semicolon after struct itimerval
>>
>>  Need a rerolled one.
> 
> Yes. Please mark the MinGW build as not having timer_settime. Better
> yet, implement it in compat/mingw.c to replace its setitimer()
> implementation.
> 
> As a bug report, currently, I get
> 
>     CC progress.o
> progress.c: In function 'set_progress_signal':
> progress.c:66: error: 'CLOCK_MONOTONIC' undeclared (first use in this
> function)
> 
> even though I have NO_TIMER_SETTIME set in my config.mak (but no other
> of new configuration options that this series introduces).
> 
> But IMHO, this topic goes in a wrong direction. "Avoid deprecated
> interfaces" is way overrated. It would be preferable (IMHO) to implement
> setitimer() in compat/ for systems that don't have it.
> 
> -- Hannes
 
I tend to agree:

grep "ifeq.*uname_S" config.mak.uname | wc reports 21 different OS versions, where Git can use setitimer(), and that has been working quite well.

The getitimer() function call appeared in 4.2BSD, and even if POSIX papers recommends the use of timers API (timer_gettime(2), timer_settime(2), the current implementation in real existing OS may stay available for a long time.

The patch-series is addressing one single system.

Could we think about writing a setitimer() implementation which uses the new POSIX timer_settime(2) for systems which do not have getitimer() ?

Or is somebody able to test all platforms which currently are supported by Git ?
Previous: Johannes SixtNext: Junio C Hamano
Message 3 of 12 in “What's cooking in git.git (Sep 2014, #01; Tue, 2)”
  1. Junio C HamanoSep 2, 2014
  2. Johannes SixtSep 3, 2014
  3. Torsten BögershausenSep 3, 2014
  4. Junio C HamanoSep 3, 2014
  5. Keller, Jacob ESep 3, 2014
  6. Duy NguyenSep 4, 2014
  7. Junio C HamanoSep 4, 2014
  8. Junio C HamanoSep 4, 2014
  9. Junio C HamanoSep 4, 2014
  10. Duy NguyenSep 5, 2014
  11. Duy NguyenSep 5, 2014
  12. Tommy38Mar 26, 2015

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.