2011-10-15 14:56:47 +04:00
|
|
|
/*
|
|
|
|
Network utilities for the Midnight Commander Virtual File System.
|
2010-11-08 13:21:45 +03:00
|
|
|
|
2016-01-01 09:53:15 +03:00
|
|
|
Copyright (C) 1995-2016
|
2014-02-12 10:33:10 +04:00
|
|
|
Free Software Foundation, Inc.
|
2010-11-08 13:21:45 +03:00
|
|
|
|
2011-10-15 14:56:47 +04:00
|
|
|
This file is part of the Midnight Commander.
|
2010-11-08 13:21:45 +03:00
|
|
|
|
2011-10-15 14:56:47 +04:00
|
|
|
The Midnight Commander is free software: you can redistribute it
|
|
|
|
and/or modify it under the terms of the GNU General Public License as
|
|
|
|
published by the Free Software Foundation, either version 3 of the License,
|
|
|
|
or (at your option) any later version.
|
|
|
|
|
|
|
|
The Midnight Commander is distributed in the hope that it will be useful,
|
1998-02-27 07:54:42 +03:00
|
|
|
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
|
|
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
2011-10-15 14:56:47 +04:00
|
|
|
GNU General Public License for more details.
|
1998-02-27 07:54:42 +03:00
|
|
|
|
2011-10-15 14:56:47 +04:00
|
|
|
You should have received a copy of the GNU General Public License
|
|
|
|
along with this program. If not, see <http://www.gnu.org/licenses/>.
|
|
|
|
*/
|
1998-09-27 23:27:58 +04:00
|
|
|
|
2009-02-07 15:54:58 +03:00
|
|
|
/**
|
|
|
|
* \file
|
|
|
|
* \brief Source: Virtual File System: Network utilities
|
|
|
|
*/
|
|
|
|
|
1998-02-27 07:54:42 +03:00
|
|
|
#include <config.h>
|
2010-07-10 14:01:19 +04:00
|
|
|
|
1998-02-27 07:54:42 +03:00
|
|
|
#include <stdlib.h>
|
|
|
|
#include <signal.h>
|
2013-11-17 09:55:18 +04:00
|
|
|
#include <string.h> /* memset() */
|
1998-02-27 07:54:42 +03:00
|
|
|
|
2010-07-10 14:51:54 +04:00
|
|
|
#include "lib/global.h"
|
2010-07-22 12:07:07 +04:00
|
|
|
|
2010-01-08 17:47:19 +03:00
|
|
|
#include "netutil.h"
|
1999-01-21 01:01:11 +03:00
|
|
|
|
2010-11-08 13:21:45 +03:00
|
|
|
/*** global variables ****************************************************************************/
|
|
|
|
|
2012-10-31 11:33:50 +04:00
|
|
|
SIG_ATOMIC_VOLATILE_T got_sigpipe = 0;
|
1998-02-27 07:54:42 +03:00
|
|
|
|
2010-11-08 13:21:45 +03:00
|
|
|
/*** file scope macro definitions ****************************************************************/
|
|
|
|
|
|
|
|
/*** file scope type declarations ****************************************************************/
|
|
|
|
|
|
|
|
/*** file scope variables ************************************************************************/
|
|
|
|
|
|
|
|
/*** file scope functions ************************************************************************/
|
|
|
|
/* --------------------------------------------------------------------------------------------- */
|
|
|
|
|
2002-10-01 08:18:38 +04:00
|
|
|
static void
|
|
|
|
sig_pipe (int unused)
|
1998-02-27 07:54:42 +03:00
|
|
|
{
|
2005-02-22 21:35:22 +03:00
|
|
|
(void) unused;
|
1998-02-27 07:54:42 +03:00
|
|
|
got_sigpipe = 1;
|
|
|
|
}
|
|
|
|
|
2010-11-08 13:21:45 +03:00
|
|
|
/* --------------------------------------------------------------------------------------------- */
|
|
|
|
/*** public functions ****************************************************************************/
|
|
|
|
/* --------------------------------------------------------------------------------------------- */
|
|
|
|
|
2002-10-01 08:18:38 +04:00
|
|
|
void
|
|
|
|
tcp_init (void)
|
1998-02-27 07:54:42 +03:00
|
|
|
{
|
2010-07-10 14:51:54 +04:00
|
|
|
static gboolean initialized = FALSE;
|
1998-02-27 07:54:42 +03:00
|
|
|
struct sigaction sa;
|
2009-11-14 19:02:28 +03:00
|
|
|
|
2010-07-10 14:51:54 +04:00
|
|
|
if (initialized)
|
|
|
|
return;
|
2002-10-01 08:18:38 +04:00
|
|
|
|
1998-02-27 07:54:42 +03:00
|
|
|
got_sigpipe = 0;
|
2013-11-17 09:55:18 +04:00
|
|
|
memset (&sa, 0, sizeof (sa));
|
1998-02-27 07:54:42 +03:00
|
|
|
sa.sa_handler = sig_pipe;
|
|
|
|
sigemptyset (&sa.sa_mask);
|
|
|
|
sigaction (SIGPIPE, &sa, NULL);
|
2009-11-14 19:02:28 +03:00
|
|
|
|
2010-07-10 14:51:54 +04:00
|
|
|
initialized = TRUE;
|
1998-02-27 07:54:42 +03:00
|
|
|
}
|
2010-11-08 13:21:45 +03:00
|
|
|
|
|
|
|
/* --------------------------------------------------------------------------------------------- */
|