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

Re: [EGIT PATCH 7/9] Add a job to refresh projects when the index changes.

From
Shawn O. Pearce <spearce@spearce.org>
Date
Jul 11, 2008, 04:33 UTC
Message-ID
<20080711043317.GD32633@spearce.org>
In-Reply-To
<1215729651-26781-8-git-send-email-robin.rosenberg@dewire.com>
Robin Rosenberg <robin.rosenberg@dewire.com> wrote:
> +
> +	static class RIRefresh extends Job implements RepositoryListener {
...
Show 6 quoted lines
> +			while (projectsToScan.size() > 0) {
> +				IProject p;
> +				synchronized (projectsToScan) {
> +					if (projectsToScan.size() == 0) {
> +					}
> +					p = projectsToScan.iterator().next();

This is going to throw some sort of no such element exception when you call next when projectsToScan is empty. You are missing a break inside of the if test that is meant to guard against this.

> +					projectsToScan.remove(p);
> +				}

You have gone to the trouble of allocating the Iterator to obtain the next item, you should also just use it to do the deletion of the next item. Its quicker to let the Iterator do the remove as it already has the pointer to the proper element position.

-- 
Shawn.
Previous: Robin RosenbergNext: Robin Rosenberg
Message 11 of 19 in “Repository change listeners”
  1. 0/9 Repository change listenersRobin Rosenberg, Jul 10, 2008
  2. 1/9 Create a listener structure for changes to refs and indexRobin Rosenberg, Jul 10, 2008
  3. 2/9 Cached modification times for symbolic refs tooRobin Rosenberg, Jul 10, 2008
  4. 3/9 Connect the history page to the refs update subscription mechanismRobin Rosenberg, Jul 10, 2008
  5. 4/9 Add a method to listen to changes in any repositoryRobin Rosenberg, Jul 10, 2008
  6. 5/9 Add a job to periodically scan for repository changesRobin Rosenberg, Jul 10, 2008
  7. 6/9 Change GitHistoryPage to listen on any repository.Robin Rosenberg, Jul 10, 2008
  8. 7/9 Add a job to refresh projects when the index changes.Robin Rosenberg, Jul 10, 2008
  9. 8/9 Make git dectected changes depend on the automatic refresh settingRobin Rosenberg, Jul 10, 2008
  10. 9/9 Attach the resource decorator to the repository change event mechanismRobin Rosenberg, Jul 10, 2008
  11. Shawn O. PearceJul 11, 2008
  12. 7/7 Add a job to refresh projects when the index changes.Robin Rosenberg, Jul 11, 2008
  13. Shawn O. PearceJul 11, 2008
  14. 4/4 Add a method to listen to changes in any repositoryRobin Rosenberg, Jul 11, 2008
  15. jgit (was: [PATCH 4/4] Add a method...)Andreas Ericsson, Jul 11, 2008
  16. Robin RosenbergJul 11, 2008
  17. Shawn O. PearceJul 11, 2008
  18. Create a listener structure for changes to refs and indexRobin Rosenberg, Jul 11, 2008
  19. Shawn O. PearceJul 11, 2008

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.