1
0
Fork 0
mirror of git://git.gnupg.org/gnupg.git synced 2025-07-03 22:56:33 +02:00
2001-12-14  Marcus Brinkmann  <marcus@g10code.de>

	* assuan-buffer.c (_assuan_read_line): New variable ATTICLEN, use
	it to save the length of the attic line.
	Rediddle the code a bit to make it more clear what happens.

agent/
2001-12-19  Marcus Brinkmann  <marcus@g10code.de>

	* query.c (start_pinentry): Add new argument to assuan_pipe_connect.

sm/
2001-12-19  Marcus Brinkmann  <marcus@g10code.de>

	* call-agent.c (start_agent): Add new argument to assuan_pipe_connect.
This commit is contained in:
Marcus Brinkmann 2001-12-19 00:18:11 +00:00
parent 86521773df
commit 84b6169de7
6 changed files with 30 additions and 5 deletions

View file

@ -71,9 +71,11 @@ writen ( int fd, const char *buffer, size_t length )
/* Connect to a server over a pipe, creating the assuan context and
returning it in CTX. The server filename is NAME, the argument
vector in ARGV. */
vector in ARGV. FD_CHILD_LIST is a -1 terminated list of file
descriptors not to close in the child. */
AssuanError
assuan_pipe_connect (ASSUAN_CONTEXT *ctx, const char *name, char *const argv[])
assuan_pipe_connect (ASSUAN_CONTEXT *ctx, const char *name, char *const argv[],
int *fd_child_list)
{
static int fixed_signals = 0;
AssuanError err;
@ -149,7 +151,16 @@ assuan_pipe_connect (ASSUAN_CONTEXT *ctx, const char *name, char *const argv[])
n = MAX_OPEN_FDS;
for (i=0; i < n; i++)
{
if (i != fileno (stderr)
int *fdp = fd_child_list;
if (fdp)
{
while (*fdp != -1 && *fdp != i)
fdp++;
}
if (!(fdp && *fdp != -1)
&& i != fileno (stderr)
#ifdef HAVE_JNLIB_LOGGING
&& i != log_fd
#endif