Commit Graph

3724 Commits

Author SHA1 Message Date
Corinna Vinschen 89256ff149 * fhandler.cc (fhandler_base::ioctl): Handle FIONBIO. 2003-10-25 12:32:56 +00:00
Thomas Pfaff 28194e813e Rename native_mutex to fast_mutex throughout.
Rename pthread_key::save_key_to_buffer to
pthread_key::_fixup_before_fork throughout.
Rename pthread_key::recreate_key_from_buffer to
pthread_key::_fixup_after_fork throughout.

* thread.cc (native_mutex::init): Remove.
(native_mutex::lock): Ditto.
(native_mutex::unlock): Ditto.
(pthread::push_cleanup_handler): InterlockedExchangePointer
is not needed here.
(pthread_rwlock::pthread_rwlock): Initialize readers list mutex.
(pthread_rwlock::add_reader): Add reader via List_insert.
(pthread_rwlock::lookup_reader): Lock list while walking through.
(pthread_cond::init): Locking the init mutex is now void.
(pthread_rwlock::init): Ditto.
(pthread_mutex::init): Ditto.
* thread.h: Include security.h.
(fast_mutex): New class. Replacement for native_mutex.
(List_insert): New template function.
(List_remove): Ditto.
(List::List): Initialize synchronising mutex.
(List::fixup_after_fork): New method.
(List::insert): Add node via List_insert.
(List::remove): Remove node via List_remove.
(List::pop): Remove.
(List::for_each): Lock list while walking through.
(List::mx_init): New method.
(pthread_mutex::fixup_after_fork): Fixup mutex list after fork.
(pthread::fixup_after_fork): Ditto.
(pthread_conds::fixup_after_fork): Ditto.
(pthread_rwlock::fixup_after_fork): Ditto.
(semaphore::fixup_after_fork): Ditto.
(pthread_rwlock::readers_mx): New member.
2003-10-24 19:34:47 +00:00
Corinna Vinschen 2b7dcf79ae * fhandler.cc (fhandler_base::fcntl): Don't clobber O_APPEND when
both O_NONBLOCK/O_NDELAY are set for F_SETFL.
2003-10-24 12:11:20 +00:00
Corinna Vinschen 0b4274f58b * path.cc (win32_device_name): Fix comment. 2003-10-24 08:13:15 +00:00
Christopher Faylor e64a50ed4e * fhandler_tty.cc (fhandler_tty_slave::ioctl): Properly set return value in
FIONBIO case.
2003-10-24 01:13:22 +00:00
Corinna Vinschen f49c14a197 * fhandler_proc.cc (format_proc_partitions): Use new device code
to get major and minor device numbers.  Fix size evaluation.
2003-10-23 08:54:00 +00:00
Corinna Vinschen 5ec9ea21a3 * external.cc (cygwin_internal): Add CW_GET_ERRNO_FROM_WINERROR
handling.
	* include/cygwin/version.h: Bump API minor number.
	* include/sys/cygwin.h (cygwin_getinfo_types): Add
	CW_GET_ERRNO_FROM_WINERROR.
2003-10-22 20:32:20 +00:00
Corinna Vinschen e217832c4c * Makefile.in: Add $(LIBSERVER) rule.
* cygserver.h: Moved from include/cygwin to here.
	* cygserver_ipc.h: Moved from ../cygserver to here.
	* cygserver_shm.h: Ditto.
	* cygwin.din: Add shmat, shmctl, shmdt and shmget.
	* fhandler_tty.cc (fhandler_tty_slave::open): Don't warn about handle
	dup'ing if not build with USE_SERVER.
	* shm.cc: Include cygerrno.h unconditionally.
	(shmat): Set errno to ENOSYS and return -1 if not build with
	USE_SERVER.
	(shmctl): Ditto.
	(shmdt): Ditto.
	(shmget): Ditto.
	* woutsup.h: Remove.
	* include/cygwin/cygserver_process.h: Moved to ../cygserver directory.
	* include/cygwin/cygserver_transport.h: Ditto.
	* include/cygwin/cygserver_transport_pipes.h: Ditto.
	* include/cygwin/cygserver_transport_sockets.h: Ditto.
	* include/cygwin/version.h: Bump API minor number.
2003-10-22 10:07:59 +00:00
Corinna Vinschen 567970786e Accomodate moving cygserver header files from cygwin/include/cygwin
to here and cygwin dir.
	* Makefile.in (EXEEXT): Drop as unused.
	(EXEEXT_FOR_BUILD): Ditto.
	(all): Don't build libcygserver.a.
	* cygserver_process.h: Moved from cygwin/include/cygwin to here.
	* cygserver_transport.h: Ditto.
	* cygserver_transport_pipes.h: Ditto.
	* cygserver_transport_sockets.h: Ditto.
	* ipc.h: Moved to ../cygwin and renamed to cygserver_ipc.h.
	* shm.h: Moved to ../cygwin and renamed to cygserver_shm.h.
2003-10-22 10:04:11 +00:00
Danny Smith 79be64037c * include/_mingw.h: Define __attribute__((x)) to nothing
if not __GNUC__.
2003-10-21 09:50:47 +00:00
Danny Smith 3c7a7a5fca Add ISO C99 complex support for doubles.
* include/complex.h: New file.
	* mingwex/complex: New directory.
	* mingwex/complex/cabs.c: New file.
	* mingwex/complex/cacos.c: New file.
	* mingwex/complex/cacosh.c: New file.
	* mingwex/complex/casin.c: New file.
	* mingwex/complex/casinh.c: New file.
	* mingwex/complex/catan.c: New file.
	* mingwex/complex/catanh.c: New file.
	* mingwex/complex/ccos.c: New file.
	* mingwex/complex/ccosh.c: New file.
	* mingwex/complex/cexp.c: New file.
	* mingwex/complex/cimag.c: New file.
	* mingwex/complex/clog.c: New file.
	* mingwex/complex/cpow.c: New file.
	* mingwex/complex/cproj.c: New file.
	* mingwex/complex/creal.c: New file.
	* mingwex/complex/csin.c: New file.
	* mingwex/complex/csinh.c: New file.
	* mingwex/complex/csqrt.c: New file.
	* mingwex/complex/ctan.c: New file.
	* mingwex/complex/ctanh.c: New file.
	* mingwex/Makefile.in (COMPLEX_DISTFILES): New list of
	files.
	(dist): Use it.
	(COMPLEX_OBJS): New list of objects.
	(LIB_OBJS): Include it in the library.
2003-10-21 09:43:22 +00:00
Danny Smith 6de52354eb * include/math.h (cabs): Remove non-ISO prototype. 2003-10-21 09:14:45 +00:00
Danny Smith 359e09e7fd * mingwex/math/cephes_mconf.h (NAN, NANF, NANL):
Use GCC __builtin's if available.
	(INFINITY, INFINITYF, INFINITYL): Likewise.
2003-10-21 09:10:51 +00:00
Danny Smith 672126d4f1 * mingwex/math/s_erf.c (erf): Set errno to ERANGE if
beyond approximation limit.
	* mingwex/math/sf_erf.c (erff): Likewise.
2003-10-21 09:05:24 +00:00
Danny Smith f25e45973d * include/stdio.h (_filbuf): Add prototype.
(_flsbuf): Add prototype.
	(getc): Add inline version.
	(putc): Likewise.
	(getchar): Likewise.
	(putchar): Likewise.
2003-10-17 21:43:31 +00:00
Christopher Faylor ce17145aa8 revert accidental checkin 2003-10-17 17:20:06 +00:00
Christopher Faylor fa10472e4a * cygcheck.cc (pretty_id): Don't exec if `id' program is not found. 2003-10-17 17:19:31 +00:00
Dimitri Papadopoulos 5320b93f4e Oooops... 2003-10-17 10:37:44 +00:00
Pierre Humblet 30f515c54f *** empty log message *** 2003-10-16 23:28:31 +00:00
Pierre Humblet 9808b5c420 2003-10-16 Pierre Humblet <pierre.humblet@ieee.org>
* syscalls.cc (seteuid32): Always construct a default DACL including
	the new sid, Admins and SYSTEM and copy it to the new thread token.
	* security.cc (create_token): Use a NULL default DACL in NtCreateToken.
2003-10-16 23:20:41 +00:00
Corinna Vinschen abfc9c412c * dcrt0.cc: Remove local variable alternate_charset_active.
* fhandler.h: Add variable alternate_charset_active, functions
	str_to_con, con_to_str to dev_console structure.
	* fhandler_console.cc (con_to_str): Move function into dev_console
	class.
	(str_to_con): Ditto.
	(fhandler_console::read): Call con_to_str on dev_state.
	(fhandler_console::write_normal): Call str_to_con on dev_state.
	(fhandler_console::char_command): Change active_charset_active
	assignment to be on dev_state.
	* winsup.h: Remove global external variable alternate_charset_active.
2003-10-16 14:08:28 +00:00
Corinna Vinschen ce34c904cc * fhandler_console.cc (char_command): Add escape sequence for codepage
ansi <-> oem switching for ncurses frame drawing capabilities.
	* dcrt0.cc: Add local variable alternate_charset_active.
	* winsup.h: Add global external variable alternate_charset_active.
2003-10-15 08:23:26 +00:00
Corinna Vinschen db3137ccb5 * exceptions.cc (ctrl_c_handler): Don't send SIGHUP on
CTRL_LOGOFF_EVENT to processes running in invisible Windows Stations.
	* window.cc (has_visible_window_station): New function.
	* winsup.h: Add declaration for has_visible_window_station.
2003-10-14 09:21:55 +00:00
Dimitri Papadopoulos 36ef425c19 * include/windows.h (CopyCursor): Although MSDN pretends this is
a function to be imported from user32.lib, it's actually a macro.
	From the Delphi FAQ:
		Question:
		Where is the Windows API function CopyCursor defined in
		32-Bit versions of Delphi and C++ Builder?
		Answer:
		While the call is documented in the Win32 help file, the
		function is simply mapped to the Windows API function
		CopyIcon(). Note that the 32 bit version of CopyIcon
		does not take a hInstance parameter.
2003-10-13 06:02:06 +00:00
Danny Smith 29598fc7e0 2003-10-13 Steven Edwards <Steven_Ed4153@yahoo.com>
* include/winnt.h (CONTAINING_RECORD): Add macro.
2003-10-13 05:22:30 +00:00
Danny Smith 851217a605 * include/winnt.h: (FILE_SUPERSEDED, FILE_OPENED, FILE_CREATED,
FILE_OVERWRITTEN, FILE_EXISTS, FILE_DOES_NOT_EXIST): remove
	defines.
2003-10-13 03:25:26 +00:00
Danny Smith 64c0532eb5 2003-10-13 Filip Navara <xnavara@volny.cz>
* include/commctrl.h: (DSA_*):Add prototypes, typedefs and
	defines for Dynamic Storage Arrays.
	(DPA_*): Likewise, for Dynamic Pointer Arrays.
	(FlatSB_*, InitializeFlatSB, InitializeFlatSB): Add prototypes
	and defines for Flat ScrollBars.
	(SetWindowSubclass, GetWindowSubclass, RemoveWindowSubclass,
	DefSubclassProc): Add prototypes for subclassing.
	(DrawShadowText) Add prototype.
`	(COMCTL32_VERSION): Define.
2003-10-13 02:46:36 +00:00
Danny Smith fad2aa1aad 2003-10-13 Martin Fuchs <Martin-Fuchs@gmx.net>
* include/shlobj.h (CFSTR_FILENAME, CFSTR_FILEDESCRIPTOR,
	CFSTR_FILENAMEMAP, CFSTR_SHELLURL): Correct UNICODE definitions.
2003-10-13 00:22:38 +00:00
Danny Smith 0c7a57ebc0 2003-10-13 Pierre Humblet <pierre.humblet@ieee.org>
* include/winnt.h (SM_REMOTESESSION): Add define.
	* include/winuser.h (SE_CREATE_GLOBAL_NAME): Ditto.
2003-10-12 23:38:57 +00:00
Danny Smith b3355c6592 * include/wincrypt (KP_IV, KP_SALT, KP_PADDING, KP_MODE,
KP_MODE_BITS, KP_PERMISSIONS, KP_ALGID, KP_BLOCKLEN): Remove
	duplicate definitions.
	(KP_X, KP_Y): Correct typos.
2003-10-12 23:34:13 +00:00
Manu B 986ee16a0c Dummy afxres header, richedit constants added 2003-10-11 08:00:38 +00:00
Christopher Faylor 7cf29f96e0 * fhandler_tty.cc (fhandler_tty_slave::open): Don't create a new window station
if one already exists.
2003-10-10 19:11:21 +00:00
Christopher Faylor 4a204f6625 * shared.cc (shared_info::initialize): Remove myself check since hMainProc
initialization will allow user initialization to work.
2003-10-10 19:07:08 +00:00
Earnie Boyd f3d0380417 * include/_mingw.h: Increment version to 3.2.
* Makefile.in: Ditto.
2003-10-10 18:25:10 +00:00
Christopher Faylor cca873af60 fix typo 2003-10-10 17:44:54 +00:00
Earnie Boyd 79b931ee81 * include/sys/types.h: Revert last change. 2003-10-10 15:09:55 +00:00
Earnie Boyd 92fda2d938 * include/sys/types.h (ssize_t): Correct the definition. 2003-10-10 11:49:36 +00:00
Corinna Vinschen a8e5f8c6c2 * include/sys/mman.h (MAP_FAILED): Define as void *. 2003-10-09 11:40:16 +00:00
Dimitri Papadopoulos 6ddad5e1dd * include/errorep.h: New file.
* lib/faultrep.def: New file.
2003-10-09 05:52:12 +00:00
Dimitri Papadopoulos 38f9123efd * include/winbase.h (AddVectoredExceptionHandler): Define if
_WIN32_WINNT >= 0x0500.

	* include/winnt.h (PVECTORED_EXCEPTION_HANDLER): Define if
	_WIN32_WINNT >= 0x0500.
2003-10-09 05:28:25 +00:00
Christopher Faylor ea4980efe1 * dcrt0.cc (hMainProc): Initialize to useful value for use when dll is
dynamically loaded.
(shared_info::initialize): Don't initialize user stuff if myself doesn't exit.
2003-10-08 21:40:33 +00:00
Corinna Vinschen 5df75951a5 * include/winbase.h (AddVectoredExceptionHandler): Only define if
_WIN32_WINNT >= 0x0501.
2003-10-08 15:58:58 +00:00
Corinna Vinschen 99439385c6 * syscalls.cc (unlink): Don't even try DELETE_ON_CLOSE technique on
systems not supporting it.
2003-10-08 09:17:08 +00:00
Dimitri Papadopoulos 56efe3a884 * include/winbase.h [_WIN32_WINNT >= 0x0500] (SetComputerNameEx[AW],
UnregisterWaitEx): Add functions.

	* include/winbase.h [_WIN32_WINNT >= 0x0500]
	(AddVectoredExceptionHandler, RemoveVectoredExceptionHandler): Add
	or guard function. The MSDN says it is available on Windows XP and
	better, and then it says it is declared for _WIN32_WINNT >= 0x0500.
	Huh?

	* include/winbase.h [_WIN32_WINNT >= 0x0501] (AddRefActCtx,
	CreateActCtx[AW], SetFileShortName[AW], SetFileValidData,
	ZombifyActCtx, QueryActCtxW): Add functions.

	* include/winbase.h [_WIN32_WINNT >= 0x0501]
	(QUERY_ACTCTX_FLAG_USE_ACTIVE_ACTCTX,
	QUERY_ACTCTX_FLAG_ACTCTX_IS_HMODULE,
	QUERY_ACTCTX_FLAG_ACTCTX_IS_ADDRESS): Add constants.

	* include/winbase.h [_WIN32_WINNT >= 0x0502] (SetDllDirectory[AW],
	SetFirmwareEnvironmentVariable[AW]): Add functions.

	* include/winnt.h [_WIN32_WINNT >= 0x0500] (VER_BUILDNUMBER,
	VER_MAJORVERSION, VER_MINORVERSION, VER_PLATFORMID,
	VER_SERVICEPACKMAJOR, VER_SERVICEPACKMINOR, VER_SUITENAME,
	VER_PRODUCT_TYPE, VER_EQUAL, VER_GREATER, VER_GREATER_EQUAL,
	VER_LESS, VER_LESS_EQUAL, VER_AND, VER_OR): Add constants.

	* include/winnt.h [_WIN32_WINNT >= 0x0501]
	(PVECTORED_EXCEPTION_HANDLER): Add callback.

	* include/winnt.h [_WIN32_WINNT >= 0x0501]
	(ACTIVATION_CONTEXT_INFO_CLASS,
	ACTIVATION_CONTEXT_ASSEMBLY_DETAILED_INFORMATION,
	ACTIVATION_CONTEXT_DETAILED_INFORMATION,
	ACTIVATION_CONTEXT_QUERY_INDEX, ASSEMBLY_FILE_DETAILED_INFORMATION):
	Add structures.

	* lib/user32.def (AddRefActCtx, AddVectoredExceptionHandler,
	CreateActCtx[AW], SetComputerNameEx[AW], SetDllDirectory[AW],
	SetFileShortName[AW], SetFileValidData,
	SetFirmwareEnvironmentVariable[AW], UnregisterWaitEx,
	VerSetConditionMask, ZombifyActCtx, QueryActCtxW): Add functions.
2003-10-07 12:55:00 +00:00
Dimitri Papadopoulos 2df2984b40 * include/winbase.h (GetWriteWatch, IsSystemResumeAutomatic,
ResetWriteWatch): Add function.

	* include/winbase.h [_WIN32_WINNT >= 0x0500]
	(GetSystemWindowsDirectory[AW], ProcessIdToSessionId, ReplaceFile[AW]):
	Add functions.

	* include/winbase.h [_WIN32_WINNT >= 0x0501]
	(GetSystemWow64Directory[AW], HeapQueryInformation,
	HeapSetInformation, InitializeSListHead, InterlockedFlushSList,
	InterlockedPopEntrySList, InterlockedPushEntrySList, IsProcessInJob,
	IsWow64Process, QueryMemoryResourceNotification, ReleaseActCtx,
	RemoveVectoredExceptionHandler): Add functions.

	* include/winnt.h [_WIN32_WINNT >= 0x0501] (HEAP_INFORMATION_CLASS):
	Add enumeration.

	* include/winbase.h [_WIN32_WINNT >= 0x0502] (GetThreadIOPendingFlag):
	Add function.

	* include/winbase.h [_WIN32_WINNT >= 0x0510] (RestoreLastError):
	Add function. The MSDN Magazine of June 2003 reads:
		RestoreLastError is an enigma. It's code is identical to
		SetLastError. It's unclear to me why it was made into a
		separate API.

	* lib/user32.def (GetSystemWindowsDirectory[AW],
	GetSystemWow64Directory[AW], GetThreadIOPendingFlag,
	HeapQueryInformation, HeapSetInformation, InitializeSListHead,
	InterlockedFlushSList, InterlockedPopEntrySList,
	InterlockedPushEntrySList, IsSystemResumeAutomatic, IsWow64Process,
	ProcessIdToSessionId, QueryMemoryResourceNotification, ReleaseActCtx,
	RemoveVectoredExceptionHandler, ReplaceFile[AW], ResetWriteWatch,
	RestoreLastError): Add functions.
2003-10-07 10:14:31 +00:00
Dimitri Papadopoulos f9a322ebf7 * include/winbase.h [_WIN32_WINNT >= 0x0500] (GetComputerNameEx[AW],
GetProcessIoCounters): Add functions.

	* include/winbase.h [_WIN32_WINNT >= 0x0500] (COMPUTER_NAME_FORMAT):
	Move around, needed by GetComputerNameEx.

	* include/winbase.h [_WIN32_WINNT >= 0x0501] (FindActCtxSectionGuid,
	FindActCtxSectionString[AW], GetCurrentActCtx, GetNativeSystemInfo):
	Add functions.

	* include/winbase.h [_WIN32_WINNT >= 0x0501]
	(ACTCTX_SECTION_KEYED_DATA): Add structure.

	* include/winbase.h [_WIN32_WINNT >= 0x0502] (GetDllDirectory[AW],
	GetFirmwareEnvironmentVariable[AW], GetProcessHandleCount,
	GetProcessId, GetSystemRegistryQuota): Add functions, available on
	Windows XP SP1 and better.

	* include/winnt.h [_WIN32_WINNT >= 0x0501]
	(ACTIVATION_CONTEXT_SECTION_ASSEMBLY_INFORMATION,
	ACTIVATION_CONTEXT_SECTION_DLL_REDIRECTION,
	ACTIVATION_CONTEXT_SECTION_WINDOW_CLASS_REDIRECTION,
	ACTIVATION_CONTEXT_SECTION_COM_SERVER_REDIRECTION,
	ACTIVATION_CONTEXT_SECTION_COM_INTERFACE_REDIRECTION,
	ACTIVATION_CONTEXT_SECTION_COM_TYPE_LIBRARY_REDIRECTION,
	ACTIVATION_CONTEXT_SECTION_COM_PROGID_REDIRECTION,
	ACTIVATION_CONTEXT_SECTION_CLR_SURROGATES): Add constants.

	* lib/user32.def (FindActCtxSectionGuid, FindActCtxSectionString[AW],
	GetComputerNameEx[AW], GetCurrentActCtx, GetDllDirectory[AW],
	GetFirmwareEnvironmentVariable[AW], GetModuleHandleEx[AW],
	GetNativeSystemInfo, GetProcessHandleCount, GetProcessIoCounters):
	Add functions.
2003-10-07 08:47:06 +00:00
Dimitri Papadopoulos d0ede583ee * include/winbase.h [_WIN32_WINNT >= 0x0501]
(CheckRemoteDebuggerPresent, DebugActiveProcessStop, DebugBreakProcess,
	DebugSetProcessKillOnExit): Add functions.

	* include/winbase.h [_WIN32_WINNT >= 0x0500] (DeleteTimerQueue,
	DeleteTimerQueueEx, DeleteTimerQueueTimer,
	DnsHostnameToComputerName[AW]): Add functions.

	* lib/user32.def (CheckRemoteDebuggerPresent, DebugActiveProcessStop,
	DebugBreakProcess, DebugSetProcessKillOnExit, DeleteTimerQueueEx,
	DeleteTimerQueueTimer, DnsHostnameToComputerName[AW]): Add functions.
2003-10-07 07:14:53 +00:00
Dimitri Papadopoulos b2608a4378 * include/winbase.h (GetVolumePathNamesForVolumeName): Available
on Windows XP and later.
2003-10-07 05:54:53 +00:00
Dimitri Papadopoulos 85c50f7194 * include/commctrl.h (TreeView_Select): Returns BOOL. 2003-10-07 05:41:46 +00:00
Dimitri Papadopoulos d645cc8736 * include/winbase.h (CancelDeviceWakeupRequest): Add function.
* include/winbase.h [_WIN32_WINNT >= 0x0501]
	(CreateMemoryResourceNotification, DeactivateActCtx): Add functions.

	* include/winbase.h [_WIN32_WINNT >= 0x0500] (CreateTimerQueue,
	CreateTimerQueueTimer): Add function.

	* include/winbase.h [_WIN32_WINNT >= 0x0501]
	(MEMORY_RESOURCE_NOTIFICATION_TYPE): Add enumeration.

	* include/winbase.h [_WIN32_WINNT >= 0x0501]
	(DEACTIVATE_ACTCTX_FLAG_FORCE_EARLY_DEACTIVATION): Add constant.

	* include/winnt.h (WT_*): Add constants.

	* lib/user32.def (CancelDeviceWakeupRequest,
	CreateMemoryResourceNotification, CreateTimerQueueTimer,
	DeactivateActCtx): Add functions.
2003-10-06 12:33:32 +00:00