diff options
author | Corinna Vinschen <corinna@vinschen.de> | 2003-11-19 18:49:41 +0000 |
---|---|---|
committer | Corinna Vinschen <corinna@vinschen.de> | 2003-11-19 18:49:41 +0000 |
commit | 282113ba894449ed17e85b296cf0760d5206ac8d (patch) | |
tree | 830bd7ad49e085ea8cde78fea68848fbbca09880 /winsup/cygserver/woutsup.h | |
parent | 64cfc6f213541f0e9e8e57011af8a56aca8c8216 (diff) | |
download | cygnal-282113ba894449ed17e85b296cf0760d5206ac8d.tar.gz cygnal-282113ba894449ed17e85b296cf0760d5206ac8d.tar.bz2 cygnal-282113ba894449ed17e85b296cf0760d5206ac8d.zip |
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.
Diffstat (limited to 'winsup/cygserver/woutsup.h')
-rw-r--r-- | winsup/cygserver/woutsup.h | 81 |
1 files changed, 23 insertions, 58 deletions
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 <sys/strace.h> 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__) |