diff options
author | Christopher Faylor <me@cgf.cx> | 2012-12-22 01:30:56 +0400 |
---|---|---|
committer | Christopher Faylor <me@cgf.cx> | 2012-12-22 01:30:56 +0400 |
commit | c3a4634985018ad5e1e1d972ff3799254e0b88aa (patch) | |
tree | 21aa3506470c6c606ffbe8a076e54cf243e574b8 /winsup/cygwin/winsup.h | |
parent | 65068ebd7f78c461f2e5b59e49ac923f98783ab1 (diff) |
Revert the reversion and go with implementation described in cgf-000017, with
some modifications.
* init.cc (dll_entry): Revert previous change.
* miscfuncs.cc: Include sigproc.h for exit_thread declaration.
* winsup.h (ExitThread): Define as 'exit_thread' to ensure no accidental use.
* sigproc.cc (exit_thread): New function.
(wait_sig): Handle __SIGTHREADEXIT case. Don't just block rather than
returning from this function.
* sigproc.h (__SIGTHREADEXIT): New enum.
(exit_thread): Declare.
* sync.cc (muto::release): Accept a tls command-line argument.
* sync.h (muto::release): Accept a tls command-line parameter. Default to
&_my_tls.
* cygerrno.h (__set_errno): Define as extern so that no function code is ever
emitted.
* cygserver_ipc.h (cygserver_ipc.h): Ditto.
* miscfuncs.h (transform_chars): Ditto.
* path.h (has_attribute): Ditto.
* security.h (privilege_luid): Ditto.
* winsup.h (flush_file_buffers): Ditto.
Diffstat (limited to 'winsup/cygwin/winsup.h')
-rw-r--r-- | winsup/cygwin/winsup.h | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/winsup/cygwin/winsup.h b/winsup/cygwin/winsup.h index 9c1622f09..0638b44f2 100644 --- a/winsup/cygwin/winsup.h +++ b/winsup/cygwin/winsup.h @@ -261,12 +261,15 @@ enum mmap_region_status mmap_region_status mmap_is_attached_or_noreserve (void *addr, size_t len); bool is_mmapped_region (caddr_t start_addr, caddr_t end_address); -inline bool flush_file_buffers (HANDLE h) +extern inline bool flush_file_buffers (HANDLE h) { return (GetFileType (h) != FILE_TYPE_PIPE) ? FlushFileBuffers (h) : true; } #define FlushFileBuffers flush_file_buffers +/* Make sure that regular ExitThread is never called */ +#define ExitThread exit_thread + /**************************** Exports ******************************/ extern "C" { |