From 282113ba894449ed17e85b296cf0760d5206ac8d Mon Sep 17 00:00:00 2001 From: Corinna Vinschen Date: Wed, 19 Nov 2003 18:49:41 +0000 Subject: Don't use safe_new but new throughout. Fix copyright dates throughout. * Makefile.in: Accomodate all new files and name changes. Add a *.d dependency. (sbindir): Add. (etcdir): Drop in favor of more appropriate sysconfdir definition. (sysconfdir): Add. (CXXFLAGS): Add -MMD flag. Add SYSCONFDIR definition. (.SUFFIXES): Add. (install): Add action items. (libclean): New target. (fullclean): Ditto. * bsd_helper.cc: New file. * bsd_helper.h: Ditto. * bsd_log.cc: Ditto. * bsd_log.h: Ditto. * bsd_mutex.cc: Ditto. * bsd_mutex.h: Ditto. * client.cc: Rearrange to build as less as possible if __INSIDE_CYGWIN__. (client_request::handle_request): Add Message Queue and Semaphore handling. * cygserver.cc: Rearrange to build as less as possible if __INSIDE_CYGWIN__. Use new debug/log/panic logging functions. (DEF_CONFIG_FILE): New definition for configuration file. Use throughout. (getfunc): Remove. (__cygserver__printf): Remove. (client_request_attach_tty::serve): Return error if impersonation fails. (print_usage): Pump up help message. (print_version): Add output of default configuration file. (main): Accommodate new options. Allow overwrite of threading options from config file. Call several new initialization functions. Drop printing dots. Don't define SIGHANDLE inline. * cygserver.conf: New file. * cygserver_process.h: Rename to process.h. * cygserver_transport.h: Rename to transport.h. * cygserver_transport_pipes.h: Rename to transport_pipes.h. * cygserver_transport_sockets.h: Rename to transport_sockets.h. * msg.cc: Rewrite. * sem.cc: Rewrite. * shm.cc: Rewrite. * sysv_msg.cc: New file, derived from FreeBSD version 1.52. * sysv_sem.cc: New file, derived from FreeBSD version 1.66. * sysv_shm.cc: New file, derived from FreeBSD version 1.89. * threaded_queue.cc: Rearrange to build as less as possible if __INSIDE_CYGWIN__. * transport.cc (transport_layer_base::impersonate_client): Define bool. (transport_layer_base::revert_to_self): Ditto. * transport.h (transport_layer_base::impersonate_client): Declare bool. (transport_layer_base::revert_to_self): Ditto. * transport_pipes.cc (transport_layer_pipes::transport_layer_pipes): Don't call init_security. (init_security): Remove. (transport_layer_pipes::accept): Use global sec_all_nih. (transport_layer_pipes::connect): Ditto. (transport_layer_pipes::impersonate_client): Define bool. (transport_layer_pipes::revert_to_self): Ditt. * transport_pipes.h (transport_layer_pipes::impersonate_client): Declare bool. (transport_layer_pipes::revert_to_self): Ditto. * woutsup.h: Include bsd compatibility headers. (SIGHANDLE): Add definition. (__cygserver__printf): Remove definition. (__noop_printf): Ditto. (debug_printf): Define using debug. (syscall_printf): Define using log. (system_printf): Ditto. Drop all other _printf definitions. --- winsup/cygserver/woutsup.h | 81 +++++++++++++--------------------------------- 1 file changed, 23 insertions(+), 58 deletions(-) (limited to 'winsup/cygserver/woutsup.h') diff --git a/winsup/cygserver/woutsup.h b/winsup/cygserver/woutsup.h index cb67c78d4..39db63997 100644 --- a/winsup/cygserver/woutsup.h +++ b/winsup/cygserver/woutsup.h @@ -1,6 +1,6 @@ /* woutsup.h: for Cygwin code compiled outside the DLL (i.e. cygserver). - Copyright 2002 Red Hat, Inc. + Copyright 2002, 2003 Red Hat, Inc. This file is part of Cygwin. @@ -42,67 +42,32 @@ details. */ #include "wincap.h" +#include "bsd_helper.h" +#include "bsd_log.h" +#include "bsd_mutex.h" + /* The one function we use from winuser.h most of the time */ extern "C" DWORD WINAPI GetLastError (void); extern int cygserver_running; -#if !defined(__STDC_VERSION__) || __STDC_VERSION__ >= 199900L -#define NEW_MACRO_VARARGS -#endif - -/* - * A reproduction of the macros. This allows code that - * runs both inside and outside the Cygwin DLL to use the same macros - * for logging messages. - */ - -extern "C" void __cygserver__printf (const char *, const char *, ...); - -#ifdef NEW_MACRO_VARARGS - -#define system_printf(...) \ - do \ - { \ - __cygserver__printf (__PRETTY_FUNCTION__, __VA_ARGS__); \ - } while (false) - -#define __noop_printf(...) do {;} while (false) - -#else /* !NEW_MACRO_VARARGS */ - -#define system_printf(args...) \ - do \ - { \ - __cygserver__printf (__PRETTY_FUNCTION__, ## args); \ +#define SIGHANDLE(SIG) \ + do \ + { \ + struct sigaction act; \ + \ + act.sa_handler = &handle_signal; \ + act.sa_mask = 0; \ + act.sa_flags = 0; \ + \ + if (sigaction (SIG, &act, NULL) == -1) \ + { \ + panic ("failed to install handler for " #SIG ": %s", \ + strerror (errno)); \ + exit (1); \ + } \ } while (false) -#define __noop_printf(args...) do {;} while (false) - -#endif /* !NEW_MACRO_VARARGS */ - -#ifdef DEBUGGING -#define debug_printf system_printf -#define paranoid_printf system_printf -#define select_printf system_printf -#define sigproc_printf system_printf -#define syscall_printf system_printf -#define termios_printf system_printf -#define wm_printf system_printf -#define minimal_printf system_printf -#define malloc_printf system_printf -#define thread_printf system_printf -#else -#define debug_printf __noop_printf -#define paranoid_printf __noop_printf -#define select_printf __noop_printf -#define sigproc_printf __noop_printf -#define syscall_printf __noop_printf -#define termios_printf __noop_printf -#define wm_printf __noop_printf -#define minimal_printf __noop_printf -#define malloc_printf __noop_printf -#define thread_printf __noop_printf -#endif - -#include "safe_memory.h" +#define debug_printf(f,...) debug((f),##__VA_ARGS__) +#define syscall_printf(f,...) log(LOG_ERR,(f),##__VA_ARGS__) +#define system_printf(f,...) log(LOG_ERR,(f),##__VA_ARGS__) -- cgit v1.2.3