All of lore.kernel.org
 help / color / mirror / Atom feed
From: Ramsay Jones <ramsay@ramsayjones.plus.com>
To: David Turner <dturner@twopensource.com>,
	git@vger.kernel.org, pclouds@gmail.com
Subject: Re: [PATCH v10 11/20] index-helper: use watchman to avoid refreshing index with lstat()
Date: Fri, 13 May 2016 00:10:55 +0100	[thread overview]
Message-ID: <57350D7F.5030006@ramsayjones.plus.com> (raw)
In-Reply-To: <1463084415-19826-12-git-send-email-dturner@twopensource.com>



On 12/05/16 21:20, David Turner wrote:
> From: Nguyễn Thái Ngọc Duy <pclouds@gmail.com>
[snip]

>  
> +/* in ms */
> +#define WATCHMAN_TIMEOUT 1000
> +
> +static int poke_and_wait_for_reply(int fd)
> +{
> +	struct strbuf buf = STRBUF_INIT;
> +	int ret = -1;
> +	struct pollfd pollfd;
> +	int bytes_read;
> +	char reply_buf[4096];
> +	const char *requested_capabilities = "";
> +
> +#ifdef USE_WATCHMAN
> +	requested_capabilities = "watchman";
> +#endif
> +
> +	if (fd < 0)
> +		return -1;
> +
> +	strbuf_addf(&buf, "poke %d %s", getpid(), requested_capabilities);
> +	if (packet_write_gently(fd, buf.buf, buf.len))

This is not causing a problem or bug, but is none the less not
correct - as you know, packet_write_gently() takes a 'printf' like
variable argument list. (So, buf.buf is the format specifier and
buf.len is an unused arg).

I think I would write this as:

	strbuf_addf(&buf, "poke %d", getpid());
	if (requested_capabilities && *requested_capabilities)
		strbuf_addf(&buf, " %s", requested_capabilities);
	if (packet_write_gently(fd, "%s", buf.buf))

... or something similar. [Note, just typing into my email client, so
it's not been close to a compiler.]

> +		return -1;
> +	if (packet_flush_gently(fd))
> +		return -1;

Why are you sending a flush packet - doesn't the index-helper
simply ignore it?

I haven't tried this yet BTW, just reading patches as they float
on past... ;-)

ATB,
Ramsay Jones

  reply	other threads:[~2016-05-12 23:11 UTC|newest]

Thread overview: 33+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2016-05-12 20:19 [PATCH v10 00/20] index-helper/watchman David Turner
2016-05-12 20:19 ` [PATCH v10 01/20] read-cache.c: fix constness of verify_hdr() David Turner
2016-05-12 20:19 ` [PATCH v10 02/20] read-cache: allow to keep mmap'd memory after reading David Turner
2016-05-12 20:19 ` [PATCH v10 03/20] pkt-line: add gentle version of packet_write David Turner
2016-05-12 21:14   ` Junio C Hamano
2016-05-12 20:19 ` [PATCH v10 04/20] index-helper: new daemon for caching index and related stuff David Turner
2016-05-12 20:20 ` [PATCH v10 05/20] index-helper: add --strict David Turner
2016-05-12 20:20 ` [PATCH v10 06/20] daemonize(): set a flag before exiting the main process David Turner
2016-05-12 20:20 ` [PATCH v10 07/20] index-helper: add --detach David Turner
2016-05-12 20:20 ` [PATCH v10 08/20] index-helper: log warnings David Turner
2016-05-12 20:20 ` [PATCH v10 09/20] read-cache: add watchman 'WAMA' extension David Turner
2016-05-12 20:20 ` [PATCH v10 10/20] watchman: support watchman to reduce index refresh cost David Turner
2016-05-12 20:20 ` [PATCH v10 11/20] index-helper: use watchman to avoid refreshing index with lstat() David Turner
2016-05-12 23:10   ` Ramsay Jones [this message]
2016-05-13 17:47     ` David Turner
2016-05-13 18:27     ` [PATCH] " David Turner
2016-05-13 20:17       ` Ramsay Jones
2016-05-13 21:16         ` [PATCH v10 ter] " David Turner
2016-05-12 20:20 ` [PATCH v10 12/20] update-index: enable/disable watchman support David Turner
2016-05-12 20:20 ` [PATCH v10 13/20] unpack-trees: preserve index extensions David Turner
2016-05-12 20:20 ` [PATCH v10 14/20] watchman: add a config option to enable the extension David Turner
2016-05-12 20:20 ` [PATCH v10 15/20] index-helper: kill mode David Turner
2016-05-12 20:20 ` [PATCH v10 16/20] index-helper: don't run if already running David Turner
2016-05-12 20:20 ` [PATCH v10 17/20] index-helper: autorun mode David Turner
2016-05-12 20:20 ` [PATCH v10 18/20] index-helper: optionally automatically run David Turner
2016-05-12 20:20 ` [PATCH v10 19/20] trace: measure where the time is spent in the index-heavy operations David Turner
2016-05-12 20:20 ` [PATCH v10 20/20] untracked-cache: config option David Turner
2016-05-15  9:43   ` Duy Nguyen
2016-05-16 18:03     ` David Turner
2016-05-14 13:14 ` [PATCH v10 00/20] index-helper/watchman Dennis Kaarsemaker
2016-05-19 19:08 ` David Turner
2016-05-19 20:11   ` Junio C Hamano
2016-05-19 20:30     ` David Turner

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=57350D7F.5030006@ramsayjones.plus.com \
    --to=ramsay@ramsayjones.plus.com \
    --cc=dturner@twopensource.com \
    --cc=git@vger.kernel.org \
    --cc=pclouds@gmail.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.