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.
This commit is contained in:
@@ -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__); \
|
||||
#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(...) do {;} while (false)
|
||||
|
||||
#else /* !NEW_MACRO_VARARGS */
|
||||
|
||||
#define system_printf(args...) \
|
||||
do \
|
||||
{ \
|
||||
__cygserver__printf (__PRETTY_FUNCTION__, ## args); \
|
||||
} 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__)
|
||||
|
Reference in New Issue
Block a user