From 999b2f6bd7c194dff96e323fffbbe59564bfc1ee Mon Sep 17 00:00:00 2001 From: Ulrich Drepper Date: Tue, 29 Sep 1998 22:42:30 +0000 Subject: Update. 1998-09-29 Thorsten Kukuk * nis/ypclnt.c (yp_all): Close UDP socket und give CLIENT handle free. 1998-09-29 Cristian Gafton * sysdeps/unix/sysv/linux/alpha/ioperm.c: List Ruffian in platforms[]. * sysdeps/unix/sysv/linux/net/if_shaper.h: New file. * sysdeps/unix/sysv/linux/Dist: Add net/if_shaper.h. * sysdeps/unix/sysv/linux/Makefile [subdirs=inet] (sysdep_headers): Add net/if_shaper.h. * libio/libio.h [!__STDC__]: Define const only if not defined. --- ChangeLog | 14 ++++++++ libio/libio.h | 4 ++- localedata/locales/sr_YU | 3 +- nis/ypclnt.c | 2 ++ posix/annexc.c | 34 +++++++++++++++++-- sysdeps/unix/sysv/linux/Dist | 1 + sysdeps/unix/sysv/linux/Makefile | 3 +- sysdeps/unix/sysv/linux/alpha/ioperm.c | 1 + sysdeps/unix/sysv/linux/net/if_shaper.h | 59 +++++++++++++++++++++++++++++++++ 9 files changed, 114 insertions(+), 7 deletions(-) create mode 100644 sysdeps/unix/sysv/linux/net/if_shaper.h diff --git a/ChangeLog b/ChangeLog index 8cbd7817cf..ff0aed3741 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,15 @@ +1998-09-29 Thorsten Kukuk + + * nis/ypclnt.c (yp_all): Close UDP socket und give CLIENT handle free. + +1998-09-29 Cristian Gafton + + * sysdeps/unix/sysv/linux/alpha/ioperm.c: List Ruffian in platforms[]. + * sysdeps/unix/sysv/linux/net/if_shaper.h: New file. + * sysdeps/unix/sysv/linux/Dist: Add net/if_shaper.h. + * sysdeps/unix/sysv/linux/Makefile [subdirs=inet] (sysdep_headers): + Add net/if_shaper.h. + 1998-09-29 Ulrich Drepper * nis/ypclnt.c (yp_all): Close socket opened by __yp_bind. @@ -24,6 +36,8 @@ * sysdeps/unix/sysv/linux/netinet/ip.h (IPOPT_NOOP): Fix typo. Patch by ak@muc.de. + * libio/libio.h [!__STDC__]: Define const only if not defined. + 1998-09-27 Andreas Schwab * posix/annexc.c (xsystem): New function. Use it instead of diff --git a/libio/libio.h b/libio/libio.h index 7b2f70cdab..b257f13915 100644 --- a/libio/libio.h +++ b/libio/libio.h @@ -72,7 +72,9 @@ #endif /*!_PARAMS*/ #ifndef __STDC__ -# define const +# ifndef const +# define const +# endif #endif #define _IO_UNIFIED_JUMPTABLES 1 #ifndef _G_HAVE_PRINTF_FP diff --git a/localedata/locales/sr_YU b/localedata/locales/sr_YU index 3f6170448b..1443fde192 100644 --- a/localedata/locales/sr_YU +++ b/localedata/locales/sr_YU @@ -1,5 +1,6 @@ comment_char % escape_char / +repertoiremap mnemonic.ds % % Serbian Language Locale for Yugoslavia % Source: USM/MZT @@ -15,7 +16,7 @@ escape_char / % Date: 1997-04-17 % Application: general % Users: general -% Repertoiremap: mnemonic,ds +% Repertoiremap: mnemonic.ds % Charset: ISO-8859-2 % Distribution and use is free, also % for commercial purposes. diff --git a/nis/ypclnt.c b/nis/ypclnt.c index 945765c6e9..826b759b25 100644 --- a/nis/ypclnt.c +++ b/nis/ypclnt.c @@ -690,6 +690,7 @@ yp_all (const char *indomain, const char *inmap, clnt = clnttcp_create (&clnt_sin, YPPROG, YPVERS, &clnt_sock, 0, 0); if (clnt == NULL) { + __yp_unbind (ydb); __set_errno (saved_errno); return YPERR_PMAP; } @@ -711,6 +712,7 @@ yp_all (const char *indomain, const char *inmap, else res = YPERR_SUCCESS; + __yp_unbind (ydb); clnt_destroy (clnt); if (status != YP_NOMORE) diff --git a/posix/annexc.c b/posix/annexc.c index 56af0a52b5..e9e1ac9cdd 100644 --- a/posix/annexc.c +++ b/posix/annexc.c @@ -22,6 +22,8 @@ #include #include #include +#include +#include #define TMPFILE "/tmp/macros" #define HEADER_MAX 256 @@ -629,6 +631,7 @@ const char *INC; static char *xstrndup (const char *, size_t); static const char **get_null_defines (void); static int check_header (const struct header *, const char **); +static int xsystem (const char *); int main (int argc, char *argv[]) @@ -674,6 +677,31 @@ xstrndup (const char *s, size_t n) } +/* Like system but propagate interrupt and quit signals. */ +int +xsystem (const char *cmd) +{ + int status; + + status = system (cmd); + if (status != -1) + { + if (WIFSIGNALED (status)) + { + if (WTERMSIG (status) == SIGINT || WTERMSIG (status) == SIGQUIT) + raise (WTERMSIG (status)); + } + else if (WIFEXITED (status)) + { + if (WEXITSTATUS (status) == SIGINT + 128 + || WEXITSTATUS (status) == SIGQUIT + 128) + raise (WEXITSTATUS (status) - 128); + } + } + return status; +} + + static const char ** get_null_defines (void) { @@ -695,7 +723,7 @@ get_null_defines (void) sprintf (command, fmt, "/dev/null", CC, INC, CC, TMPFILE); - if (system (command)) + if (xsystem (command)) { puts ("system() returned nonzero"); return NULL; @@ -787,14 +815,14 @@ check_header (const struct header *header, const char **except) if (header->subset != NULL) { sprintf (line, testfmt, header->subset, CC, INC, CC, TMPFILE); - if (system (line)) + if (xsystem (line)) { printf ("!! not available\n"); return 0; } } - if (system (command)) + if (xsystem (command)) { puts ("system() returned nonzero"); result = 1; diff --git a/sysdeps/unix/sysv/linux/Dist b/sysdeps/unix/sysv/linux/Dist index 2efa3dd9bb..411f575b91 100644 --- a/sysdeps/unix/sysv/linux/Dist +++ b/sysdeps/unix/sysv/linux/Dist @@ -20,6 +20,7 @@ net/if.h net/if_arp.h net/if_packet.h net/if_ppp.h +net/if_shaper.h net/if_slip.h net/ppp-comp.h net/ppp_defs.h diff --git a/sysdeps/unix/sysv/linux/Makefile b/sysdeps/unix/sysv/linux/Makefile index 8efda034e5..1430bfa29c 100644 --- a/sysdeps/unix/sysv/linux/Makefile +++ b/sysdeps/unix/sysv/linux/Makefile @@ -58,7 +58,7 @@ endif ifeq ($(subdir),socket) sysdep_headers += net/if.h net/if_ppp.h net/ppp-comp.h \ net/ppp_defs.h net/if_arp.h net/route.h net/ethernet.h \ - net/if_slip.h net/if_packet.h + net/if_slip.h net/if_packet.h net/if_shaper.h sysdep_routines += cmsg_nxthdr sa_len endif @@ -101,4 +101,3 @@ endif ifeq ($(subdir),nis) CFLAGS-ypclnt.c = -DUSE_BINDINGDIR=1 endif - diff --git a/sysdeps/unix/sysv/linux/alpha/ioperm.c b/sysdeps/unix/sysv/linux/alpha/ioperm.c index cf263f762c..26d976ecad 100644 --- a/sysdeps/unix/sysv/linux/alpha/ioperm.c +++ b/sysdeps/unix/sysv/linux/alpha/ioperm.c @@ -104,6 +104,7 @@ static struct platform { {"Noname", IOSYS_APECS, 5, APECS_DENSE_MEM, APECS_SPARSE_MEM}, {"Sable", IOSYS_T2, 5, T2_DENSE_MEM, T2_SPARSE_MEM}, {"Miata", IOSYS_CIA, 5, CIA_DENSE_MEM, CIA_SPARSE_MEM}, + {"Ruffian", IOSYS_CIA, 5, CIA_DENSE_MEM, CIA_SPARSE_MEM}, }; diff --git a/sysdeps/unix/sysv/linux/net/if_shaper.h b/sysdeps/unix/sysv/linux/net/if_shaper.h new file mode 100644 index 0000000000..94d7cd405e --- /dev/null +++ b/sysdeps/unix/sysv/linux/net/if_shaper.h @@ -0,0 +1,59 @@ +/* Copyright (C) 1998 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Library General Public License as + published by the Free Software Foundation; either version 2 of the + License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Library General Public License for more details. + + You should have received a copy of the GNU Library General Public + License along with the GNU C Library; see the file COPYING.LIB. If not, + write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330, + Boston, MA 02111-1307, USA. */ + +#ifndef _NET_IF_SHAPER_H +#define _NET_IF_SHAPER_H 1 + +#include +#include +#include +#include + +__BEGIN_DECLS + +#define SHAPER_QLEN 10 +/* + * This is a bit speed dependant (read it shouldnt be a constant!) + * + * 5 is about right for 28.8 upwards. Below that double for every + * halving of speed or so. - ie about 20 for 9600 baud. + */ +#define SHAPER_LATENCY (5 * HZ) +#define SHAPER_MAXSLIP 2 +#define SHAPER_BURST (HZ / 50) /* Good for >128K then */ + +#define SHAPER_SET_DEV 0x0001 +#define SHAPER_SET_SPEED 0x0002 +#define SHAPER_GET_DEV 0x0003 +#define SHAPER_GET_SPEED 0x0004 + +struct shaperconf +{ + u_int16_t ss_cmd; + union + { + char ssu_name[14]; + u_int32_t ssu_speed; + } ss_u; +#define ss_speed ss_u.ssu_speed +#define ss_name ss_u.ssu_name +}; + +__END_DECLS + +#endif /* net/if_shaper.h */ -- cgit 1.4.1