From mboxrd@z Thu Jan 1 00:00:00 1970 From: hjemli at gmail.com (Lars Hjemli) Date: Thu, 16 Jan 2014 09:06:51 +0100 Subject: Policy on global variables In-Reply-To: References: <20140116005912.GA20306@dcvr.yhbt.net> Message-ID: On Thu, Jan 16, 2014 at 2:00 AM, Jason A. Donenfeld wrote: > On Thu, Jan 16, 2014 at 1:59 AM, Eric Wong wrote: >> This. I prefer we keep passing around the ctx variable to keep the code >> more flexible for future reuse. Of course, IIRC git itself has this >> limitation, too... > > Can anyone confirm or deny this? Is it a pointless endeavor because of > git's design? Supporting something like FCGI in cgit will require a fork(2) for each request, before invoking libgit.a functions, since these functions are not generally reentrant (they tend to use global state and/or inconveniently die(3)). Therefore, passing a pointer to a context variable serves no real purpose since each request would be processed in a different child process (thus having a private copy of the global context). But FCGI support could still be a nice addition to cgit, since parsing of cgitrc and/or scanning for repos could then be done once, in the parent process. -- larsh